我正在使用react redux制作一个页面,它有14个输入标签。
对于每个输入标记,我有14个不同的州名。
如果任何输入发生变化,我该怎么做才能更新状态?
我是否需要为每个输入标签编写动作和缩减器?
答案 0 :(得分:7)
当然,您必须重构您的应用以执行以下操作:
{ type: 'UPDATE', field: '<name of your field>', value: <value here> }
然后在你的减速机中:
case 'UDPATE':
const { field, value } = action.payload;
return { ...state, { [field]: value }};
答案 1 :(得分:0)
如果要更新一个reducer中的属性,可以执行以下操作:
在对象中调度更新的值,然后将其与reducer中的先前状态合并。
dispatch({
type: 'UPDATE_FIELD',
data: { banana: 'yellow' },
});
在你的减速机中:
case 'UPDATE_FIELD':
return {
...state,
...data,
};