6

我在 linux 机器上安装了 react native。我想在我的练习代码中实现 createBottomTabNavigator。我在其中创建了 5 个文件夹和 index.js。导航.js:

import {createAppContainer} from 'react-navigation';
import {createBottomTabNavigator} from 'react-navigation-tabs';

import Profile from './common/pages/profile';
import Home from './common/pages/home';
import Search from './common/pages/search';
import Camera from './common/pages/camera';
import Notification from './common/pages/notification';

const Navigate=createBottomTabNavigator({
    Profile:{screen:Profile},
    Home:{screen:Home},
    Camera:{screen:Camera},
    Search:{screen:Search},
    Notification:{screen:Notification}
});
export default createAppContainer(Navigate);

和主要的 index.js:

import {AppRegistry} from 'react-native';
import Navigate from './navigate';
import {name as appName} from './app.json';

AppRegistry.registerComponent(appName, () => Navigate);

现在当我在 genymotion 中运行时出现错误:

  • null 不是对象''评估_ReanimatedModule.default.configureProps'

我的 package.json:

{
  "name": "myinstagram",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "react-native start",
    "test": "jest",
    "lint": "eslint ."
  },
  "dependencies": {
    "react": "16.8.6",
    "react-native": "0.60.5",
    "react-native-gesture-handler": "^1.4.1",
    "react-native-reanimated": "^1.2.0",
    "react-navigation": "^4.0.2",
    "react-navigation-tabs": "^2.4.1"
  },
  "devDependencies": {
    "@babel/core": "^7.6.0",
    "@babel/runtime": "^7.6.0",
    "@react-native-community/eslint-config": "^0.0.5",
    "babel-jest": "^24.9.0",
    "eslint": "^6.3.0",
    "jest": "^24.9.0",
    "metro-react-native-babel-preset": "^0.56.0",
    "react-test-renderer": "16.8.6"
  },
  "jest": {
    "preset": "react-native"
  }
}
4

3 回答 3

7

检查您是否在getPackages下的 MainApplication.java 中添加了新的 ReanimatedPackage()

并添加导入:import com.swmansion.reanimated.ReanimatedPackage;

于 2019-09-11T23:54:21.583 回答
6

如果你使用 react-native 0.6,你只需要添加 import com.swmansion.reanimated.ReanimatedPackage;你的 MainApplication.java

但是它应该自动添加这一行,因为 0.6 支持自动链接,但由于某种原因它有时不会添加这一行,所以请务必检查!

只需导入它,一切都会正常工作。

(在 React-Native 0.61.4 上验证)

如果您使用的版本少于 0.6,请使用 @Maksym Bezruchko 解决方案

于 2019-11-18T10:23:46.313 回答
2

在 android 文件夹中,android>app>src>main>java>com>app_name>MainApplication.java文件:添加以下导入

import com.swmansion.reanimated.ReanimatedPackage;

希望这会有所帮助,干杯!

于 2020-12-03T10:52:26.320 回答