【发布时间】:2016-12-22 20:24:34
【问题描述】:
我有一个不应该对表单的脏状态产生影响的字段。 有没有办法在不改变脏状态的情况下改变它的价值? 我可以在不初始化整个表单的情况下以某种方式设置它的初始值吗?
【问题讨论】:
标签: reactjs redux redux-form
我有一个不应该对表单的脏状态产生影响的字段。 有没有办法在不改变脏状态的情况下改变它的价值? 我可以在不初始化整个表单的情况下以某种方式设置它的初始值吗?
【问题讨论】:
标签: reactjs redux redux-form
这是我的解决方案;但我警告你,它不是很漂亮。
在您的reducer.plugin() 中,您通过了state 和action。如果state.values 对象等于state.initial 对象(它们在isPristine.js 中进行比较),则该表单被认为是脏的。减速器返回新状态,所以在减速器中我更改了initial。
在这里查看我对specialField 所做的事情:
return {
...state,
/* snip */
initial: {
...state.initial,
specialField
}
}
也许这颠覆了一些重要的事情,但它对我有用。
希望这会有所帮助!
【讨论】: