语义 UI 反应复选框状态不起作用

第 4 天

我有一个父容器,它调用一个基于类的 react 子组件(因为语义 ui react 文档都是用基于类的组件编写的)。子组件有一个Form.Field

<Form.Field 
    control={Checkbox} 
    label={{children: 'cardreader'}}
    checked = {this.state.cardReaderChecked}                
    onChange={this.cardReaderToggleHandler}
/>

我有一个state

state = {
    cardReaderChecked: false,     
}

和一个cardReaderToggleHandler

cardReaderToggleHandler = () => {
    console.log(this.state.cardReaderChecked);
    this.setState((prevState, props) => ({
        cardReaderChecked : !prevState.cardReaderChecked
    }))
console.log(this.state.cardReaderChecked);
}

我试过切换,this.state.cardReaderChecked但我发现很多参考文献和文​​档都推荐使用这种方法prevState来避免状态更新的延迟。

但是,必须存在逻辑错误,因为它不起作用。如果我刷新页面,checkbox则清晰为this.state.cardReaderChecked.

我第一次单击checkbox它时会用勾号渲染,然后this.state.cardReaderChecked更新到true(根据我在 Chrome 中值得信赖的 React 工具)。但是,两个console.log打印输出都给了我一个false,如果我将state返回传递给父表单,它也会显示该复选框为假。

每次后续点击都会切换,但勾选checkbox显示true状态,但将 a 传递false给父表单(即console.log当前所在的位置),反之亦然,未勾选的checkbox将传递回 a true

我几乎想删除notprev.statesetState,但我更愿意理解为什么会这样。

附加问题:如何查询功能组件中checkbox状态checked

六月 L。

将函数作为道具传递给孩子

class Parent extends Component {

  state = {
    cardReaderChecked: false,
  }

  cardReaderToggleHandler = () => {

    this.setState((prevState, props) => ({
      cardReaderChecked : !prevState.cardReaderChecked
    }), () => console.log(this.state.cardReaderChecked))
  }
  ....

  render () {
    return (
     ....
     <Form.Field 
       control={Checkbox} 
       label={{children: 'cardreader'}}
       checked = {this.state.cardReaderChecked}                
       onChange={this.cardReaderToggleHandler}
     />
    )
  }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

语义 UI 反应页脚

来自分类Dev

语义Ui菜单不起作用

来自分类Dev

语义UI:表格不起作用

来自分类Dev

语义UI弹出菜单不起作用

来自分类Dev

语义ui样式输入不起作用

来自分类Dev

反应语义ui复选框,如何切换单个元素?

来自分类Dev

在语义UI中获取Toggle复选框的价值

来自分类Dev

循环中的ReactJs /语义UI复选框

来自分类Dev

在语义UI中获取Toggle复选框的价值

来自分类Dev

反应语义 ui 标题菜单

来自分类Dev

Material Ui复选框控制的状态更改不起作用

来自分类Dev

语义UI-语义Ui下拉菜单中的链接/ A标签/ URL不起作用

来自分类Dev

语义UI模态onShow / onVisible不起作用?

来自分类Dev

语义UI下拉菜单不起作用

来自分类Dev

语义UI下拉菜单不起作用

来自分类Dev

语义ui表排序器不起作用

来自分类Dev

Angular 2语义UI下拉JS不起作用

来自分类Dev

语义UI在Django的模板文件中不起作用

来自分类Dev

语义ui表排序器不起作用

来自分类Dev

高度:使用语义UI时100%不起作用

来自分类Dev

语义 UI Tablesort 在 Meteor 中不起作用

来自分类Dev

响应式语义 ui 网格,表单不起作用

来自分类Dev

找不到语义UI反应模块

来自分类Dev

用语义UI反应React Native

来自分类Dev

反应 + 语义 ui:访问列宽

来自分类Dev

使用语义UI时,ruby代码在“ ui”类下不起作用

来自分类Dev

循环打印时,切换对于材料ui复选框不起作用

来自分类Dev

网格中的粘滞菜单在语义UI中不起作用

来自分类Dev

PHP 它在我的带有语义 UI 的模态中不起作用