チェックボックスの機能が私の期待するものではないことに驚いています。 onClick
のラッパーdivがあり、チェックボックス以外の何かをクリックすると、期待通りに機能します。しかし、チェックボックスをクリックすると、proppが渡されたにもかかわらず、チェックボックスは同じ状態にとどまります。私の推測では、小道具の変更がプッシュダウンされた後、チェックボックスが内部更新イベントを発生させているということです。チェックボックスの内部状態を無効にする
const ToDo = (props) => {
const { title, done, onChange } = props;
const handleChange = (event) => {
event.preventDefault();
if (onChange) {
onChange(!done)
}
}
return (
<div onClick={handleChange}>
<label>
<input type="checkbox" checked={done}/> {title}
</label>
</div>
);
};
これを処理する正しい方法は何ですか?