React&Redux:如何在单击按钮时更新受控输入值?

问题描述

所以我的表单中有一个受控的输入字段。但我也想通过单击按钮更新其值。单击按钮后,状态将更新,值已更改。但是由于某些原因,输入的内部HTML仍然相同。

有什么问题吗?也许是因为我的表单状态存储在Redux中?顺便说一句,我没有使用Redux Form或其他任何东西,我只是将表单状态存储在Redux中。可以吗?

代码是这样的。我使用react-text-mask。 “地址”是从Redux状态导入的:

import MaskedInput from 'react-text-mask' 

<MaskedInput
      mask={mask}
      onChange={handleChange}
      type: 'text',name: 'address',value: address
    />

还有一件事要提到。当我只按下按钮时,一切工作正常。但是,当我在该字段中键入内容后,它便停止工作:此刻之后,单击按钮即可更新状态,但内部HTML不再更改。

解决方法

请考虑将组件的绑定值状态绑定到输入元素

<input value={value} onChange={e => handleCode} />

,

最后找到了原因。这只是react-text-mask包中的错误。回滚到以前的版本,现在可以使用了!

此问题也在这里讨论:https://github.com/text-mask/text-mask/issues/806

谢谢大家。