【发布时间】:2020-02-05 08:42:42
【问题描述】:
我是 react-native 的新手,在尝试设置我的 appNavigation 和 redux 时遇到了以下错误。
TypeError: (0, _reactNavigation.addNavigationHelpers) 不是函数。 (在 '(0, _reactNavigation.addNavigationHelpers)({dispatch:dispatch, state: nav})' (0, _reactNavigation.addNavigationHelpers)' 中未定义。
代码 -->
App.js -
import React from 'react';
import store from './src/store';
import { Provider } from 'react-redux';
import 'react-native-gesture-handler';
import AppNavigation from './src/components/AppNavigator';
export default class App extends React.Component {
render() {
return (
<Provider store={store}>
<AppNavigation />
</Provider>
);
}
}
AppNavigator.js -
import React from 'react';
import TodoApp from '../TodoApp';
import TodoDetails from '../components/TodoDetails';
import { connect } from 'react-redux';
import { addNavigationHelpers } from 'react-navigation';
import { createStackNavigator } from 'react-navigation-stack';
export const AppNavigator = createStackNavigator(
{
todoDetails: TodoDetails,
home: TodoApp,
},
{
initialRouteName: 'todoDetails',
},
);
const AppNavigation = ({ dispatch, nav }) => (
<AppNavigator navigation={addNavigationHelpers({ dispatch, state: nav })} />
);
const mapStateToProps = state => ({
nav :state.nav,
});
export default connect(mapStateToProps)(AppNavigation);
编辑 -
我确实按照https://stackoverflow.com/questions/50246457/react-native-reactnavigation-addnavigationhelpers-in-not-a-function 给出的步骤进行操作
但不幸的是,这给出了一个错误提示
TypeError: undefined is not an object (evalating 'state.routes')
错误位于: 在导航器中(在 AppNavigator.js:20) 在 AppNavigation 中(由 ConnectFunction 创建) 在 ConnectFunction 中(在 App.js:19)......
【问题讨论】:
-
不要使用 Redux 来存储你的导航状态reactnavigation.org/docs/en/…
标签: react-native redux react-redux react-navigation