我需要做一個複選框(切換,如IOS)的組件,不使用狀態和控制只有道具。當前的代碼看起來是這樣的:反應受控制的複選框(切換)在道具上。
export class Checkbox extends React.Component {
handleChange(event) {
this.props.onChange({value: event.target.value});
}
render() {
return (
<span>
<input class="ios_toggle" type="checkbox"
value={this.props.value}
disabled={this.props.disabled}
onChange={this.handleChange}
/>
</span>
);
}
}
我用這樣的:
<Checkbox value={true} disabled={false} />
它幾乎工作,但:
- 它看起來不加以控制,即使道具等於
value={true}
- 通過單擊此切換它會更改,但它不應該。我的意思是,如果我把道具
value={true}
,理論上它會是一樣的,無論我在瀏覽器中做什麼?
我錯過了什麼?
使用e.target.checked,不e.target.value。 console.log是一個非常有用的函數,用於調試目的,以便輸出返回值的變量,這些變量是您不期望的。 – fungusanthrax