Javascript 反应本机&;Redux每个场景/路线我应该有一个商店吗?
我正在使用Javascript 反应本机&;Redux每个场景/路线我应该有一个商店吗?,javascript,reactjs,react-native,redux,Javascript,Reactjs,React Native,Redux,我正在使用react native router flux管理应用程序中的导航。我想知道是应该为每个场景创建一个存储,还是应该只创建一个(以及如何创建?) 现在看起来是这样的: App.js <Router> <Scene key="root"> <Scene key="mainScene" component={MainScene} title="MainScene" initial={true} /> <Scene
react native router flux
管理应用程序中的导航。我想知道是应该为每个场景创建一个存储,还是应该只创建一个(以及如何创建?)
现在看起来是这样的:
App.js
<Router>
<Scene key="root">
<Scene key="mainScene" component={MainScene} title="MainScene" initial={true} />
<Scene key="secondScene" component={SecondScene} title="SecondScene" />
</Scene>
</Router>
<Provider store={store}>
<MainConnectedComponent/>
</Provider>
<Provider store={store}>
<SecondConnectedComponent/>
</Provider>
mainsecene.js
<Router>
<Scene key="root">
<Scene key="mainScene" component={MainScene} title="MainScene" initial={true} />
<Scene key="secondScene" component={SecondScene} title="SecondScene" />
</Scene>
</Router>
<Provider store={store}>
<MainConnectedComponent/>
</Provider>
<Provider store={store}>
<SecondConnectedComponent/>
</Provider>
SecondScene.js
<Router>
<Scene key="root">
<Scene key="mainScene" component={MainScene} title="MainScene" initial={true} />
<Scene key="secondScene" component={SecondScene} title="SecondScene" />
</Scene>
</Router>
<Provider store={store}>
<MainConnectedComponent/>
</Provider>
<Provider store={store}>
<SecondConnectedComponent/>
</Provider>
我在某个地方读到redux只喜欢一个应用商店,但我不知道如何通过这种将应用程序分为不同部分的导航实现这一点。您只使用一个应用商店,但您将简化程序分开
import { createStore, combineReducers } from 'redux';
const mainSceneReducer = (state, action) => {
...
};
const secondSceneReducer = (state, action) => {
...
};
const store = createStore(
combineReducers({
mainSceneReducer,
secondSceneReducer
});
);
更新:现在关于路由器,您可以将提供商放在主路由器周围,并将其从mainsecene.js和secondScene.js中删除:
<Provider store={store}>
<Router>
<Scene key="root">
<Scene key="mainScene" component={MainScene} title="MainScene" initial={true} />
<Scene key="secondScene" component={SecondScene} title="SecondScene" />
</Scene>
</Router>
</Provider>
相关SO问题:您能告诉我这是如何与导航一起工作的吗?我应该把提供者放在那里吗?