javascript - 单个页面中的多个 React 应用程序并使它们保持同步

标签 javascript reactjs server-rendering

我有基于电子商务的页面。整个页面并未包含在单个 React 应用程序中。

页面的大部分静态内容是使用 EJS 在服务器端呈现的。在客户端上渲染后,我们用自己的状态初始化两个独立的 React 应用程序。

  • 购物车应用程序。 (显示代表购物车中商品数量的计数)
  • 产品列表应用 - 产品列表应用呈现产品列表。

每个产品都有一个添加到购物车按钮。当用户点击它时,我们需要立即更新购物车中的计数,而无需刷新页面。

现在我的问题是是否有一种方法可以实现这一目标,而无需在 react 中渲染整个页面。下面是我的粗略 HTML 标记。

<navbar>
    <navbar-links/>
    <div id="site-cart-app"></div> // this is where the cart react app is initialized.
</navbar>
<div id="product-list-app"></div> // this is where the product list app is initialized.

最佳答案

高级摘要 - 要在单个页面上同步多个 React 应用程序,您需要一个通用数据源,例如 REDUX(我个人推荐)并订阅 REDUX Store > 在多个 React 应用程序中并相应地更新组件。

如何实现? (我对我的项目做了什么)

  1. 创建 2 个独立的 React-Redux 应用程序。
  2. 制作 Common store 和捆绑代码并运行。

这看起来很简单,但事实并非如此。

我在实现过程中遇到的问题。

如何将 React 项目与常见的 Redux Store 和 reducers 分开。 - 为此,我使用了 Redux-Dynamic-Modules库,它允许我们在组件的负载上创建单独的存储或负载 reducer 。

我仍在努力,但供您引用。 Here is my git repo对于类似的问题。

关于javascript - 单个页面中的多个 React 应用程序并使它们保持同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58927713/

相关文章:

javascript - navigator.geolocation.watchPosition 只是不工作

reactjs - 如何对 props 和 propTypes 进行分组以减少代码

node.js - StaticRouter 无法在服务器渲染中使用动态路由

reactjs - 将服务器端渲染添加到 create-react-app

javascript - 使用 react-router v4 和预取数据进行服务器渲染

javascript - 如果密码匹配则启用按钮

javascript - 如何使用 Jquery 中的切换类更改内部 html 内容?

javascript - 使用 JavaScript 更改 iframe src 不起作用

javascript - 将 Redux Saga 与 React 结合使用时出现此错误 .. Uncaught TypeError : getPosts is not a function

javascript - babel-loader jsx 语法错误 : Unexpected token