我正在控制反应表单上的单选按钮。
状态按预期更新更改,但checked
值不会在更改时重新呈现。因此,从用户的角度来看,该按钮不起作用。
我在这里的代码盒中复制了这个https://codesandbox.io/s/eager-hertz-stzgk?file=/src/App.js
相关代码:
const [selectedRole, setSelectedRole] = useState("staff");
...
const handleRoleChange = (event) => {
event.preventDefault();
setSelectedRole(event.target.value);
};
...
<form>
<label>
Staff
<input
type="radio"
name="role"
value="staff"
checked={selectedRole === "staff"}
onChange={handleRoleChange}
/>
</label>
<label>
Student
<input
type="radio"
name="role"
value="student"
checked={selectedRole === "student"}
onChange={handleRoleChange}
/>
</label>
</form>
感谢任何帮助,因为我没有想法。
谢谢