问题:每次刷新页面时,先前的复选框都会被取消选中。我有 4 个复选框。我检查了两个,然后刷新。另外两个不会保存。我不确定这里出了什么问题。你能指出我的错误吗?非常感谢。
const handleCheckboxChange = ([event]) => {
return event.target.checked;
};
const organizationInfo = {
// label name, variable name, value
"Organization Name": ["name", name],
"Organization Contact E-mail": ["email", email],
};
const renderNeedSection = () => {
if (organization) {
return (
<div>
{Object.entries(NEEDS).map(([key, label]) => (
<CheckBoxWrapper key={key}>
<Controller
as={Checkbox}
defaultChecked={needs[key]}
name={`needs.${key}`}
control={control}
onChange={handleCheckboxChange}
>
<Label inputColor="#000000">{label}</Label>
</Controller>
</CheckBoxWrapper>
))}
<span style={errorStyles}>
{errors.needs ? "Please select at least one option" : ""}
</span>
</div>
);
}
};
React 状态不会在重新加载后持久化。如果您希望数据持久保存,您可以选择其他选项
- 将其存储在服务器中,并在页面加载时检索
- 使用浏览器本地存储