React native 提供程序不支持使用TabViewAnimated动态更改存储

React native 提供程序不支持使用TabViewAnimated动态更改存储,react-native,redux,react-redux,redux-thunk,React Native,Redux,React Redux,Redux Thunk,在我的React原生应用程序中尝试通过TabViewAnimated切换到另一个选项卡时,我遇到以下错误 我有两个子组件,提供程序使用如下: render() { const store = createStore(reducers, {}, applyMiddleware(ReduxThunk)); return ( <Provider store={store}> <TabView

在我的React原生应用程序中尝试通过TabViewAnimated切换到另一个选项卡时,我遇到以下错误

我有两个子组件,提供程序使用如下:

 render() {
        const store = createStore(reducers, {}, applyMiddleware(ReduxThunk));

        return (
            <Provider store={store}>
                <TabViewAnimated
                    style={styles.container}
                    navigationState={this.state}
                    renderScene={this._renderScene}
                    renderHeader={this._renderHeader}
                    onRequestChangeTab={this._handleChangeTab}
                />
            </Provider>
        );
    }
"react": "16.0.0-alpha.6",
"react-native": "^0.44.0",
"react-native-tab-view": "0.0.66",
"react-redux": "^5.0.5",
"redux": "^3.6.0",
"redux-thunk": "^2.2.0"

任何建议都将不胜感激

问题是每次调用
render
时,都会创建一个新的
store
实例,这会导致此错误

您可以通过在只发生一次的位置(通常在应用程序的入口点或导出应用程序的单独文件中)实例化存储来解决此问题:

// store.js
export default createStore(reducers, {}, applyMiddleware(ReduxThunk));

//App.js
从“/store”导入{store}
...
render(){
... 
}
...

希望这有帮助

更新:使用我的旧方法创建存储,但是在组件层次结构的父类中,问题不再存在。您的诊断是正确的,问题是每次选项卡更改时,都会再次调用render方法,从而创建一个新存储。谢谢
// App.js
import { store } from './store'

...

  render() {
    <Provider store={ store }> ... </Provider>
  }
...