如何将商店共享到TabNavigator

时间:2019-02-13 20:56:55

标签: react-native redux react-redux

这是我要使用的代码,但是在组件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)   选项。

Source Code

1 个答案:

答案 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的想法