【问题标题】:Use multiple redux stores in react native app for different versions在 react native 应用程序中使用多个 redux 商店以获取不同的版本
【发布时间】:2021-09-01 14:24:59
【问题描述】:

我们有一个内置 react native 的应用程序,其版本例如 v1、v2。为了分离关注点,我们使用了 2 个商店,其中一个是根据 APP_VERSION 选择的。 问题是当用户将应用程序从 v1 更新到 v2 时,选择了 v2 商店,该商店没有用户数据,因此用户注销。我正在寻找在这些商店之间进行交流的某种方式,或者任何更好的替代方式都会有很大帮助。

<Provider store={ ENV.APP_VERSION === "V2" ? v2store : v1store }>
  { ENV.APP_VERSION === "V2" ? <V2Application /> : <V1Application /> }
</Provider>

【问题讨论】:

    标签: reactjs react-native redux react-redux


    【解决方案1】:

    这样的一些代码应该会有所帮助

    //do the below task while at splashscreen
    if (ENV.APP_VERSION === 'V2') {
      const v2storeData = v2store.getState();
      const v1storeData = v1store.getState();
      if (checkConditionIfWeHaveToPopulateV2) {
        const v1DataToPopulateInV2 = getV1DataToPopulateInV2(v1storeData);
        v2store.dipatch(populateV2(dataToPopulateInV2));
        v1store.dipatch(cleanV1());
      }
    }
    
    return (
      <Provider store={ENV.APP_VERSION === 'V2' ? v2store : v1store}>
        {ENV.APP_VERSION === 'V2' ? <V2Application /> : <V1Application />}
      </Provider>
    );
    

    【讨论】:

    • 非常感谢。虽然我正在使用需要更多配置的 redux-persist 包,但这种方法为我奠定了基础。
    猜你喜欢
    • 2017-05-10
    • 1970-01-01
    • 2020-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-14
    • 1970-01-01
    • 2018-07-21
    相关资源
    最近更新 更多