在不同版本的react原生应用程序中使用多个redux存储



我们有一个内置在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>

像这样的一些代码应该有助于

//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>
);

最新更新