我正在尝试组合react-native,react-navigation-drawer和typecsript并出现以下错误:
TypeError:null不是一个对象(正在评估'_ReanimatedModule.default.configureProps')
四处搜索,我觉得问题可能是没有指定默认路由。 The Documentation说应该有一个initialRoute:
几个选项被传递到底层路由器以修改导航逻辑:
initialRouteName-初始路由的路由名称。
但是the typescript bindings for NavigationDrawerConfig不包括这样的字段。这是打字稿绑定的问题吗?
"dependencies": {
"@types/jest": "^24.0.18",
"@types/react-native": "^0.60.15",
"@types/react-test-renderer": "^16.9.0",
"react": "16.9.0",
"react-native": "0.61.0",
"react-native-gesture-handler": "^1.4.1",
"react-native-navigation": "^2.27.9",
"react-native-reanimated": "^1.2.0",
"react-navigation": "^4.0.9",
"react-navigation-drawer": "^2.2.2",
"react-navigation-stack": "^1.9.0",
"typescript": "^3.6.3"
},
对于默认的打字稿模板,我真的做不到很多事情
const RouteConfigs: NavigationRouteConfigMap<NavigationDrawerOptions, NavigationDrawerProp<NavigationRoute>> = {
'home': HomeScreen,
'profile': ProfileScreen
}
const DrawerNavigatorConfig: NavigationDrawerConfig = {
drawerWidth: 100,
drawerPosition: "left"
}
const menu = createDrawerNavigator(RouteConfigs, DrawerNavigatorConfig);
const App = () => {
return (
<>
<StatusBar barStyle="dark-content">OMG</StatusBar>
<SafeAreaView>
<Text>Hello, World</Text>
<Button title="open" onPress={() => {
menu.dispatch(DrawerActions.toggleDrawer())
}}/>
<Text>Did you see the Button?</Text>
</SafeAreaView>
<menu ref={menu}/>
</>
);
};
答案 0 :(得分:0)
可能是链接问题,它在React-Native!0.6自动链接更新后经常发生。
转到您的 MainApplication.java 文件,并添加以下代码行“ import com.swmansion.reanimated.ReanimatedPackage;
”
它将导入缺少的软件包,并且一切正常。 它应该自动执行此操作(通过自动链接),但是由于某些原因,它不会导入软件包,因此请手动执行!。
今天发生在0.61.4上的我,是通过导入此处介绍的方法解决的!