Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Mat ui FormControlLabel未使用正确的状态_Javascript_Reactjs_Ecmascript 6_Material Ui - Fatal编程技术网

Javascript Mat ui FormControlLabel未使用正确的状态

Javascript Mat ui FormControlLabel未使用正确的状态,javascript,reactjs,ecmascript-6,material-ui,Javascript,Reactjs,Ecmascript 6,Material Ui,我将FormControlLabel用于自定义复选框,但根据传递给它们的状态,它们似乎没有被选中/取消选中 onchange处理程序更新redux/BE中的所有内容,但在初始渲染或重新加载后,它们都将再次取消选中 我尝试了很多方法,结果迷失了方向,结果陷入了一个螺旋式的漩涡 我还尝试使用value和checked来控制复选框 当复选框通过.map呈现时,它们具有从状态接收的正确布尔值,但复选框不反映这一点 你知道我哪里会出错吗 我把文件放在这里的要点中: 已设置样式的复选框是: export c

我将FormControlLabel用于自定义复选框,但根据传递给它们的状态,它们似乎没有被选中/取消选中

onchange处理程序更新redux/BE中的所有内容,但在初始渲染或重新加载后,它们都将再次取消选中

我尝试了很多方法,结果迷失了方向,结果陷入了一个螺旋式的漩涡

我还尝试使用value和checked来控制复选框

当复选框通过
.map
呈现时,它们具有从状态接收的正确
布尔值,但复选框不反映这一点

你知道我哪里会出错吗

我把文件放在这里的要点中:

已设置样式的复选框是:

export const CustomCheckbox=withStyles({
根目录:{
颜色:`${COLORS.MAIN_ORANGE}`,
“&$checked”:{
颜色:`${COLORS.MAIN_ORANGE}`
}
},
选中:{}
})(道具=>);
以及redux动作/减速器:

export const SET\u是否为\u PIN\u code\u CHECK\u IN\u CHECKED=
“venueTemplates/SET_是_PIN_CODE_CHECK_IN_CHECKED”;
export const setispinodecheckinchecked=createAction(
设置是否为PIN码检查是否为IN
);
导出常量处理程序={
[SET_IS_PIN_CODE_CHECK_IN_CHECKED]:(状态,{payload:value})=>({
状态
isPinCodeCheckInChecked:值
}),

已经兜了10个小时的圈子,任何想法或帮助都值得赞赏。

您需要使用
checked
(布尔值)而不是
value
(字符串):

handlepinochecked(事件)}
checked={!!ispinodecheckinchecked[id]}
名称={name | |”“}
/>

也许不是最好的解决方案,但对我来说有效的方法是使用
defaultChecked

例如:


defaultChecked={item?.ispinodecheckinchecked}

请在问题本身中添加如何使用组件的代码,而不仅仅是通过源代码的链接。感谢您的反馈,我这样做是因为代码太多了。下次我会记住这一点。你仍然可以这样做。不需要添加所有代码,只需添加最小的相关部分。如果需要更多的部件,人们可以在注释中要求它们。您还可以添加您尝试过的不同示例以及每个示例的错误。正如我提到的,我已经尝试过了,但没有成功。您说
,我也尝试过使用value和checked来控制复选框。我知道你(一起)使用了这两种方法。这里我建议只使用
选中的
。这会将组件转换为非受控组件。如果这样做,则必须确保
defaultValue
在所有组件的生命周期中保持不变。