有没有一种方法可以在React和React Native之间共享Redux状态

时间:2020-04-26 05:50:09

标签: reactjs react-native redux webview

我们有一个用于移动平台的React Native应用程序和一个用于Web的React应用程序,我们正在两个平台上使用Redux进行状态管理,我们正在考虑在React Native中使用WebView,这些平台将由React包内部的本地服务APK我想检查在通过WebView进行通信时是否可以通过window.postmessage在react native和react local bundled组件之间连接化简器状态。

理论上是否可行,但也是可行的,因为我们不想为了重用而维护应用程序。

在此用例中,我关注一些链接。这更多是一个可能的问题,请让我知道从哪里开始。

https://github.com/blankg/rn-webview-bridge-sample-new/blob/master/android/app/src/main/assets/index.html

https://medium.com/capriza-engineering/communicating-between-react-native-and-the-webview-ac14b8b8b91a

1 个答案:

答案 0 :(得分:1)

我们构建的解决方案之一也有相同的要求。

据我所知,我们无法为两个应用程序(即移动应用程序和Web应用程序)维护单个redux存储,因为这是两个彼此分离的不同客户端。

但是,仍然可以在通过webview加载网页时与每个客户端进行通信。我们采用的方法是通过URL参数发送数据。并通过使用来自reactJS的路由来提取数据并根据参数解释的要求呈现网页。

<WebView 
    source={{ uri: 'https://m.domain.com/true/sv-FI/updateDetails' }} 
/>;
  • false表示网址正在从网络视图中请求
  • sv-FI表示react-native应用程序的本地化设置为瑞典语(芬兰)。因此react app会提供瑞典语翻译的网页
  • ....其余参数。

当然,在这种方法上您可能会有局限性。

可能对您有用的链接 -How To Pass Multiple Route Parameters in a React URL Path