我正在尝试通过编写下面的函数使用 react 最终形式突变器更新表单状态中的值
const setProjectSelectedMutator = ([value], formState, tools) => {
tools.changeValue(formState, () => value && value.isSelectedInProject === true);
};
然后我调用该突变函数,如下所示,
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
的错误一样。
我是反应最终形式的新手,任何人都可以就此问题提出任何想法或建议。
提前致谢
我想你忘记了具有字段名称的第二个参数。我已将"SOME NAME"
字符串添加到您的代码中。
const setProjectSelectedMutator = ([value], formState, tools) => {
tools.changeValue(formState, "SOME NAME", () => value && value.isSelectedInProject === true);
};