无法在Connect()的上下文或道具中找到提供者商店

时间:2017-07-25 20:04:09

标签: react-native redux react-redux

我不断在“Connect(SalesOrderList)”错误的上下文或道具中找到“找不到'商店'。我提供了提供商商店,你可以在下面的App.js文件中看到。不知道是什么错误来自。这是我第一次尝试将redux与react-native集成在一起,我无法将所有内容连接在一起。任何有经验的人都请帮助。谢谢=)

我的App.js

const store = createStore(reducers, window.__REDUX_DEVTOOLS_EXTENSION__ && 
window.__REDUX_DEVTOOLS_EXTENSION__(), applyMiddleware(Thunk));

console.log(store.getState());

export default class App extends Component {
  constructor(props) {
    super(props);
    this.state = {};
  }
  state = { loggedIn: null};

  renderView() {
    switch (this.state.loggedIn) {
      case true:
        return <AppNavigator />
      case false:
        return <Login />;
      default:
        return <AppNavigator />;
    }
  }

  render() {
    return (
      <Provider store={store}>
        <View style={styles.container}>
          {this.renderView()}
        </View>
      </Provider>
    );
  }
}

Index.ios.js

    import {
      AppRegistry,
    } from 'react-native';
    import App from './src/components/App';
    import { StackNavigator } from 'react-navigation';
    import SalesOrderList from './src/components/SalesOrderList';
    import SalesOrderItem from './src/components/SalesOrderItem';

    const AppNavigator = StackNavigator({
      SalesOrderList : { screen: SalesOrderList },
      SalesOrderItem : { screen: SalesOrderItem }
    });

    AppRegistry.registerComponent('issicrm', () => AppNavigator);

    export default AppNavigator;

1 个答案:

答案 0 :(得分:0)

所以你在index.ios.js中注册了AppNavigator组件: AppRegistry.registerComponent('issicrm', () => AppNavigator);

如果仔细观察,您链接的AppNavigator组件只是一个StackNavigator组件,它根本没有连接到您的Redux存储,这就是为什么您在SalesOrderList组件中看到错误的原因#39;连接电话。

我想你可能想在index.ios.js中注册你的App组件,因为你导了它但从未使用它。