React Native - Ошибка обновления 0,56 [Отредактировано]

Я пытаюсь интегрировать mobx в свое собственное приложение реагировать, но я думаю, что возникли некоторые проблемы из-за собственного обновления 0.56 реакции. Ошибка возникает, когда я использую store-prop или @ наблюдатель-декоратор (см. Код ниже).

Ошибка говорит: _$$_REQUIRE(..) is not a function

Я установил последнюю версию "Нейрореактив" (0.56) и установил Babel Core 7 (бета-версия 47). У меня также есть "@babel/plugin-Предложение-декораторы" (v7, бета-версия 47). Я также протестировал с установкой: "@babel/plugin-transform-runtime" (v7, Beta 47). Сначала я установил Babel Core бета-версию 52, но это дало мне эту ошибку:

Property right of AssignmentExpression expected node to be of a type ["Expression"] but instead got null

После некоторых поисков он выглядел так, как будто ему нужна была бета-версия 47, поэтому я установил его, и он выглядел так, как будто он работал, пока я не добавил декоратор обратно в код. Затем я получил ошибку "Требовать". Я не могу найти ничего об этой ошибке в Stackru или где-либо еще.

Там нет пропавших peerDependencies.

Вот мой package.js:

"dependencies": {
    "adm-zip": "^0.4.11",
    "mobx": "^5.0.3",
    "mobx-react": "^5.2.3",
    "plist": "^3.0.1",
    "react": "^16.4.1",
    "react-native": "^0.56.0",
    "react-native-elements": "^0.19.1",
    "react-native-fbsdk": "^0.7.0",
    "react-native-fontawesome": "^5.7.0",
    "react-native-vector-icons": "^4.6.0",
    "react-navigation": "^2.3.1",
    "xcode": "^1.0.0"
  },
  "devDependencies": {
    "@babel/cli": "^7.0.0-beta.47",
    "@babel/core": "^7.0.0-beta.47",
    "@babel/plugin-external-helpers": "^7.0.0-beta.47",
    "@babel/plugin-proposal-class-properties": "^7.0.0-beta.47",
    "@babel/plugin-proposal-decorators": "^7.0.0-beta.47",
    "@babel/plugin-proposal-optional-chaining": "^7.0.0-beta.47",
    "@babel/plugin-syntax-typescript": "^7.0.0-beta.47",
    "@babel/plugin-transform-arrow-functions": "^7.0.0-beta.47",
    "@babel/plugin-transform-classes": "^7.0.0-beta.47",
    "@babel/plugin-transform-runtime": "^7.0.0-beta.47",
    "@babel/preset-env": "^7.0.0-beta.47",
    "@babel/preset-react": "^7.0.0-beta.47",
    "@babel/runtime": "^7.0.0-beta.47",
    "babel-cli": "^6.26.0",
    "babel-jest": "23.0.1",
    "babel-plugin-transform-class-properties": "^6.24.1",
    "babel-plugin-transform-decorators-legacy": "^1.3.4",
    "babel-preset-react": "^6.24.1",
    "babel-preset-react-native": "^5.0.2",
    "babel-preset-react-native-typescript": "^1.0.0-rc.1",
    "jest": "23.1.0",
    "react-test-renderer": "16.3.1"
  },
  "jest": {
    "preset": "react-native"
  },

И.babelrc:

{
  "presets": ["react-native-typescript", "@babel/preset-env", "@babel/preset-react" ],
  "plugins": [
    [
    "transform-class-properties", { "loose": true },
    ],
    ["@babel/plugin-proposal-decorators", { "legacy": true }],
    ["@babel/plugin-transform-runtime", {
      "helpers": true,
      "polyfill": false,
      "regenerator": false
    }]
  ]
}

А вот и магазин:

import { observable } from 'mobx';

export class UserStore {
  @observable test = 2;
}

И вот компонент, который использует магазин:

import { observer } from 'mobx-react';
import store from './../mobx/UserStore'

@observer
class NavMenu extends React.Component {
  constructor(props) {
    super(props);
    this.state = {   
    };
  }
  render() {
    const { userStore } = this.props;
    return (
      <View style={{flex: 1}}>
        {userStore.test}
      </View>
    );
  }
}

Так что ошибка возникает, когда я использую store-prop или @ наблюдатель-декоратор. @ Observable-decorator отлично работает в магазине.

Редактировать: Оказывается, это не из-за MOBX. После того, как я установил npm, который обновил реагирующую native-версию, что-то отсутствует / не так. Я на самом деле не могу редактировать свои компоненты. Как только я редактирую их, я получаю вид ошибки. Ошибка require - одна из них. "_typeof is not function" также является ошибкой, которую я сейчас вижу. Пожалуйста, помогите, я не могу ничего сделать с моим приложением в настоящее время. Есть ли что-то в моих пакетах, что не так?

1 ответ

Обновите ваши зависимости с этими версиями.

Установить зависимости в package.json

{
  "name": "mobxdemo",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "test": "jest"
  },
  "dependencies": {
    "lodash": "^4.17.10",
    "prop-types": "^15.6.1",
    "mobx": "^5.0.3",
    "mobx-react": "^5.2.3",
    "mobx-state-tree": "^3.0.0",
    "react": "16.3.2",
    "react-native": "^0.55",
    "react-navigation": "2.2.5"
  },
  "devDependencies": {
    "babel-core": "6.26.0",
    "babel-eslint": "^8.2.5",
    "babel-jest": "22.4.3",
    "babel-plugin-transform-decorators-legacy": "^1.3.5",
    "babel-preset-react-native": "^3.0.2",
    "jest": "22.4.3",
    "react-test-renderer": "16.4.1"
  },
  "jest": {
    "preset": "react-native",
    "plugins": [
      "transform-decorators-legacy"
    ]
  }
}

Установить в.babelrc

{
  "presets": ["react-native"],
  "plugins": ["transform-decorators-legacy"]
}
Другие вопросы по тегам