【发布时间】:2016-04-25 17:23:50
【问题描述】:
在我的 React/Redux 应用程序中,我有一个文本输入,其默认值是通过 Ajax 调用检索的。用户可以在输入中编辑默认值,然后通过单击“提交”链接提交更新的值。我正在努力为此使用不受控制或受控的输入。
- 将不受控制的输入与 defaultValue 一起使用:当初始 Ajax 调用返回默认值的数据时,组件不会重新渲染(详见官方文档here)。所以输入字段一直是空白的。
- 使用绑定到组件道具的值的受控输入:这确实正确地给出了默认值,但是由于我无法更改道具,因此该字段基本上是“锁定”的。我可以通过触发一个动作来修改 onChange 处理程序中的全局状态并强制整个组件重新渲染来解决这个问题,但这又会带来其他问题。一方面,在 onChange 中这样做似乎太过分了,而且我不想在用户单击提交链接之前承诺更改状态。
有什么建议吗?
【问题讨论】: