如何在反应中设置状态后立即获取复选框值
How to get checkbox value immediately after setting the state in react
我想要在设置状态后立即显示复选框值。
在下面的代码中,我希望设置状态后 handelchange 中的复选框值
我在那边添加了控制台
state = {
status: false,
}
handleChange = (event) => {
this.setState((prevState) => {
return {
...prevState,
status: !prevState.status
}
})
====console.log(this.state.status)====//if it checked and set i should get true
}
<Form.Check
type="checkbox"
label="Consigne temporaire"
value={this.state.status}
onChange={this.handleChange}
/>
您可以使用 useEffect 或 componentDidUpdate 并将复选框状态与其绑定。
state = {
status: false,
}
componentDidUpdate(prevProps, prevState) {
if (prevState.status !== this.state.status) {
console.log('Checkbox State change',this.state.status)
}
}
handleChange = (event) => {
this.setState((prevState) => {
return {
...prevState,
status: !prevState.status
}
})
====console.log(this.state.status)====//if it checked and set i should get true
}
<Form.Check
type="checkbox"
label="Consigne temporaire"
value={this.state.status}
onChange={this.handleChange}
/>
您可以将回调作为第二个参数传递给 this.setState
,保证在状态更新后 运行(参见 docs on setState
)
this.setState((prevState) => {
return {
...prevState,
status: !prevState.status
}
}, () => {
console.log(this.state.status)
})
我想要在设置状态后立即显示复选框值。 在下面的代码中,我希望设置状态后 handelchange 中的复选框值 我在那边添加了控制台
state = {
status: false,
}
handleChange = (event) => {
this.setState((prevState) => {
return {
...prevState,
status: !prevState.status
}
})
====console.log(this.state.status)====//if it checked and set i should get true
}
<Form.Check
type="checkbox"
label="Consigne temporaire"
value={this.state.status}
onChange={this.handleChange}
/>
您可以使用 useEffect 或 componentDidUpdate 并将复选框状态与其绑定。
state = {
status: false,
}
componentDidUpdate(prevProps, prevState) {
if (prevState.status !== this.state.status) {
console.log('Checkbox State change',this.state.status)
}
}
handleChange = (event) => {
this.setState((prevState) => {
return {
...prevState,
status: !prevState.status
}
})
====console.log(this.state.status)====//if it checked and set i should get true
}
<Form.Check
type="checkbox"
label="Consigne temporaire"
value={this.state.status}
onChange={this.handleChange}
/>
您可以将回调作为第二个参数传递给 this.setState
,保证在状态更新后 运行(参见 docs on setState
)
this.setState((prevState) => {
return {
...prevState,
status: !prevState.status
}
}, () => {
console.log(this.state.status)
})