0


我正在onChange对输入事件发送一个 redux 操作,以添加到 Redux 状态上的一些“答案”数组。
一切正常,Redux 存储更新,但问题是在设置input值以反映 Redux 存储中的更改时,它在控制台中给我一个错误,说...

Warning: A component is changing an uncontrolled input of type number to be controlled.

这是一个代码框来演示这个问题......

https://codesandbox.io/s/controlled-input-issue-p2k74

我怎样才能input控制它,但通过 Redux 存储,而不是本地状态?

4

1 回答 1

2

如果你想控制一个输入,只需每次将一个值传递给value输入元素的prop,比如,改变这个

QuestionAnswerInput.js

将输入组件更改为

  <input
    type="number"
    value={getInputValueFromStore(answers, questionId) || ""}
    onChange={e => handleAddNumericalAnswer(e)}
  />

有关受控组件的更多信息,请参阅本文

于 2020-04-18T12:41:03.107 回答