我试图通过在下面编写函数
来使用react最终形式更改器更新表单状态中的值const setProjectSelectedMutator = ([value], formState, tools) => {
tools.changeValue(formState, () => value && value.isSelectedInProject === true);
};
然后我像下面那样调用该mutate函数,
if (!once) {
if (
form &&
values.spaceType.mechanicalData[mappedLibrarySourceArray] &&
values.spaceType.mechanicalData[mappedLibrarySourceArray][index]
) {
// values.spaceType.mechanicalData[mappedLibrarySourceArray][
// index
// ].isSelectedInProject = true;
form.mutators.setProjectSelectedMutator(
values.spaceType.mechanicalData[mappedLibrarySourceArray][index].isSelectedInProject
);
setOnce(true);
}
}
我想使用mutator函数将布尔值设置为true,就像我正在设置布尔值(在注释代码中提到)一样,并得到类似mutate is not a function
的错误。
我是刚开始回应最终形式的人,请问有人可以就此问题提出任何想法或建议。
预先感谢
答案 0 :(得分:0)
我认为您忘记了具有字段名称的第二个参数。我已将"SOME NAME"
字符串添加到您的代码中。
const setProjectSelectedMutator = ([value], formState, tools) => {
tools.changeValue(formState, "SOME NAME", () => value && value.isSelectedInProject === true);
};