设置和镜像2个React.js组件的最简单方法是什么

时间:2019-01-17 18:09:49

标签: reactjs components

我想创建两个组件,每个组件反映一个页面,一个视图,但具有相同的状态和道具。让我更深入地探讨这个问题:

我想要实现的是有两个页面,每个页面都包含一个React组件,并且两个组件都具有相同的状态和渲染。 如果可以的话,像镜子一样。该页面应将输入输入到字段中,并应呈现该输入的值(我设法这样做),但是当我更改值时,所做的更改也应反映在另一页上。 另一(第二)页面在反映该值的同时,也可以操纵相同的输入字段。

基本上是一个字段,其中2个控制器来自2个不同的页面,用于控制相同的值。我已经创建了组件,并且还在使用Redux。我可以成功更改初始状态(值)并通过存储获取新状态,但更改不会反映在第二个组件中。我怎么做?我对React和Redux都很陌生,我知道当我仍然是React新手时,我不应该投入Redux。

1 个答案:

答案 0 :(得分:0)

已解决:

我在商店内创建了一个persistedState:

const persistedState = localStorage.getItem('reduxState') ? JSON.parse(localStorage.getItem('reduxState')) : {}

并在创建我的商店时传递了persistedState作为参数:

const store = createStore(reducer, persistedState);

并在此之后立即订阅:

store.subscribe(()=>{
  localStorage.setItem('reduxState', JSON.stringify(store.getState()))
})

像魅力一样工作。