使用redux更新不同组件中的两个输入字段

时间:2016-11-02 00:33:50

标签: reactjs redux react-jsx textinput

我试图在使用redux做出反应时得到以下行为。我有两个并排组件都有<input>文本字段,显示相同的值。当我编辑任何一个字段时,我想调度一个动作并让redux store更新我的应用程序在两个组件中的状态

完全像asana app。

当我编辑左侧的字段时,它也会更新右侧的字段 enter image description here

当我编辑右边的字段时,它也会更新左侧的文本字段 enter image description here

我只能以一种方式而不是两种方式工作。我正在使用value文本字段的<input>道具并保留状态变量来更新<input>文本字段,如 react-docs。 我在一个组件中有状态变量,而另一个直接监听道具。

我尝试使用defaultValue道具<input>文字字段,但遇到其他在不同项目之间切换时未更新价值的问题

1 个答案:

答案 0 :(得分:0)

很难在没有看到你的代码的情况下回答这个问题,但根据你所说的话,听起来你正在将一个输入的值存储在状态中?

如果我希望将值链接到全局存储,则不会将其存储在状态中。我会做这样的事情(有点伪人,但希望你能得到这个想法!)

onChange: function (e) {
  this.props.dispatch(updateName(e.target.value));
},

render: function() {
  return (
    <input value={this.props.name} onChange={this.onChange} />
  );
}

调度导致对全局存储的更新,然后将更新的名称值级联回到您当前正在键入的反应组件,以及由相同数据填充的其他输入。