Javascript 如何修复TypeError:undefined不是一个对象(评估';state.routes';)
我遵循react导航文档,react导航redux助手文档,但总是抛出这个错误。此外,如果我删除persistGate,错误会得到修复,但我需要保留一些数据,这样就不应该是一个选项 这是我的商店Javascript 如何修复TypeError:undefined不是一个对象(评估';state.routes';),javascript,reactjs,react-native,expo,redux-persist,Javascript,Reactjs,React Native,Expo,Redux Persist,我遵循react导航文档,react导航redux助手文档,但总是抛出这个错误。此外,如果我删除persistGate,错误会得到修复,但我需要保留一些数据,这样就不应该是一个选项 这是我的商店 import { createStore, applyMiddleware } from 'redux'; import { persistStore, persistReducer } from 'redux-persist'; import { AsyncStorage } from 'react-
import { createStore, applyMiddleware } from 'redux';
import { persistStore, persistReducer } from 'redux-persist';
import { AsyncStorage } from 'react-native';
import { createReactNavigationReduxMiddleware } from 'react-navigation-redux-helpers';
import Reducer from './reducers/index';
const persistConfig = {
key: 'root',
storage: AsyncStorage,
blackList: [],
};
const AppReducer = persistReducer(persistConfig, Reducer);
const middleware = createReactNavigationReduxMiddleware(
(state) => state.navigation,
);
export const store = createStore(AppReducer, applyMiddleware(middleware));
export const persistor = persistStore(store);
这是我的app-with-state.js
import AppNavigator from './AppNavigator';
const AppNavigatorWithState = createReduxContainer(AppNavigator);
class ReduxNavigation extends React.Component {
render() {
const { state, dispatch } = this.props;
return <AppNavigatorWithState navigation={state} dispatch={dispatch} />;
}
}
const mapStateToProps = (state) => ({
state: state.navigation,
});
export default connect(mapStateToProps)(ReduxNavigation);
从“/AppNavigator”导入AppNavigator;
const-AppNavigator-WithState=createReduxContainer(AppNavigator);
类ReduxNavigation扩展了React.Component{
render(){
const{state,dispatch}=this.props;
返回;
}
}
常量mapStateToProps=(状态)=>({
state:state.navigation,
});
导出默认连接(MapStateTops)(ReduxNavigation);
这是我的AppNavigator.js
const Main = createStackNavigator(
{
Home: Home,
Movie: Movie,
Category: Category,
},
{
defaultNavigationOptions: {
header: Header,
},
},
);
const TabNavigator = createBottomTabNavigator(
{
Home: {
screen: Main,
navigationOptions: {
tabBarIcon: <Icon icon='I know its too late but it should help others :))
In your mystore.js
const middleware = createReactNavigationReduxMiddleware(
(state) => state.navigation,
)
const Main=createStackNavigator(
{
家:家,
电影:电影,,
类别:类别,,
},
{
默认导航选项:{
标题:标题,
},
},
);
const TabNavigator=createBottomTabNavigator(
{
主页:{
屏幕:主,
导航选项:{
tabBarIcon:我知道为时已晚,但它应该能帮助其他人:)
在您的mystore.js中
const middleware=createReactNavigationReduxMiddleware(
(state)=>state.navigation,
)
应该是这样的:
const middleware=createReactNavigationReduxMiddleware(
(state)=>state.router,
)