这是我要使用的代码,但是在组件LogIn中,我收到一个错误,提示我尚未共享存储。我尝试将商店与tabNavigation共享,以使商店具有所有子组件。
import React from 'react';
import { createBottomTabNavigator, createAppContainer } from 'react-navigation';
import TabNavigator from './TabNavigator';
import { Store } from './Store/Store';
import { Provider } from 'react-redux';
<Provider store={Store}>
<TabNavigator></TabNavigator>
</Provider>
export default createAppContainer(TabNavigator);
错误:
不变违反:不变违反:在以下位置找不到“存储” “连接(登录)”的上下文。可以将根组件包装在 ,或将自定义React上下文提供程序传递给和 连接中相应的React上下文使用者到Connect(LogIn) 选项。
答案 0 :(得分:1)
您的App.js
需要导出React.Component
,目前您正在导出导航器。您也没有渲染功能。因此,您将不会看到任何东西。您应该重构App.js
,使其看起来更像这样。
import React from 'react';
Import { View } from 'react-native';
import { createBottomTabNavigator, createAppContainer } from 'react-navigation';
import TabNavigator from './TabNavigator';
import { Store } from './Store/Store';
import { Provider } from 'react-redux';
const Nav = createAppContainer(TabNavigator);
export default class App extends React.Component {
render() {
<Provider store={Store}>
<View style={{flex:1, backgroundColor:'white'}}>
<Nav />
</View>
</Provider>
}
}
这是一种使用redux https://snack.expo.io/@andypandy/redux-with-ducks的小吃,它遵循https://github.com/erikras/ducks-modular-redux的想法