網站搜尋

typescript - 目前尚未為 react-router-native 啟用實驗性語法 'classProperties' 的支援?


我目前正在學習如何設置使用 TypeScript 的 react-native-web,並且遇到了一個錯誤,react-router-native 顯示錯誤信息如下:

對實驗性語法 'classProperties' 的支援目前尚未啟用。

檢查了 node_modules 資料夾,metro-react-native-babel-preset 添加了 @babel/plugin-proposal-class-properties。

嘗試在 package.json 的 babel 中添加 plugins 部分,但仍然出現錯誤:

"babel": {
    "plugins": [
      [
        "@babel/plugin-proposal-class-properties",
        {
          "loose": true
        }
      ]
    ],
    "presets": [
      "module:metro-react-native-babel-preset"
    ]
  }

這是我目前的設置

已安裝於 package.json 的套件:

{
"dependencies": {
    "react": "16.8.6",
    "react-dom": "16.8.6",
    "react-native": "0.59.3",
    "react-native-web": "0.11.2",
    "react-router": "5.0.0",
    "react-router-dom": "5.0.0",
    "react-router-native": "5.0.0",
    "react-scripts": "2.1.8"
  },
  "devDependencies": {
    "@types/jest": "24.0.11",
    "@types/react": "16.8.10",
    "@types/react-native": "0.57.42",
    "@types/react-router": "4.4.5",
    "@types/react-router-dom": "4.3.2",
    "@types/react-router-native": "4.2.4",
    "@types/react-test-renderer": "16.8.1",
    "babel-jest": "23.6.0",
    "jest": "23.6.0",
    "prettier": "1.16.4",
    "react-art": "16.8.6",
    "react-test-renderer": "16.8.6",
    "ts-jest": "24.0.1",
    "tslint": "5.15.0",
    "tslint-config-prettier": "1.18.0",
    "typescript": "3.4.1"
  }
}

對於 metro.config.js:

module.exports = {
  transformer: {
    getTransformOptions: async () => ({
      transform: {
        experimentalImportSupport: true,
        inlineRequires: true
      }
    })
  }
};