Javascript 更新过程中控制复选框的最佳方法

Javascript 更新过程中控制复选框的最佳方法,javascript,reactjs,checkbox,Javascript,Reactjs,Checkbox,假设我有一张表格要寄。它有复选框。布尔类型,接收0和1。创建如下逻辑 "is_has_n": values.is_has_n === true ? 1 : 0, 如果真1和假0,则返回值1和0。 在我写这篇文章时,它工作正常。如果我想编辑这篇文章,我有一些问题。所以这个复选框以前是正确的,现在对我来说应该是错误的。所以我可以在编辑文章时取消选中复选框。 我有以下表格: { data.is_has_n === 1 ? ( <Form.Check onChange

假设我有一张表格要寄。它有复选框。布尔类型,接收0和1。创建如下逻辑

 "is_has_n": values.is_has_n === true ? 1 : 0,
如果真1和假0,则返回值1和0。 在我写这篇文章时,它工作正常。如果我想编辑这篇文章,我有一些问题。所以这个复选框以前是正确的,现在对我来说应该是错误的。所以我可以在编辑文章时取消选中复选框。 我有以下表格:

{
data.is_has_n === 1 ?
 (
    <Form.Check
        onChange={handleChange}
        name="is_has_n"
        defaultChecked={true}
        isInvalid={touched.is_has_n&& !!errors.is_has_n}
        type="checkbox"
        label="Label 
    />
) :
(
    <Form.Check
        onChange={handleChange}
        name="is_has_n"
        defaultChecked={false}
        isInvalid={touched.is_has_n&& !!errors.is_has_n}
        type="checkbox"
        label="Label
    />
 )
还有我的把手转换功能

if (name === "dangerous_status") {
        console.log(isChecked);
        setFieldValue(name, isChecked);
        if (isChecked) {
            console.log("dangerous_status", true);
            setIsDangerous(true);
        } else {
            setIsDangerous(false);
            console.log("dangerous_status", false);
        }
    }

问题似乎不清楚,但我认为应该使用受控组件,从而用状态控制输入字段值。参考

值将输入绑定到由handleChange更改的状态字段inputValue。控制inputValue的值,以控制在输入字段中显示的内容

if (name === "dangerous_status") {
        console.log(isChecked);
        setFieldValue(name, isChecked);
        if (isChecked) {
            console.log("dangerous_status", true);
            setIsDangerous(true);
        } else {
            setIsDangerous(false);
            console.log("dangerous_status", false);
        }
    }