javascript - setState() 函数不起作用,我无法更新我的状态。我怎么解决这个问题?

标签 javascript reactjs react-native setstate

我想更新我的状态来控制我的模型,但当我运行此代码时它不起作用。

这些是我控制模型可见性的状态

state = {
    loginWithMail: false,
    registerWithMail:true,
    remember:true,
  }

这就是我在函数中尝试过的。

    this.setState({
        registerWithMail: false,
        loginWithMail: true,
      })
      console.log(this.state)
  };

这是我试图控制的模型

 <Modal isVisible={this.state.registerWithMail}>

最佳答案

setState是异步的,因此您需要将 console.log 放入 setState 提供的回调中状态更新后进行记录。

    this.setState({
        registerWithMail: false,
        loginWithMail: true,
      }, () => console.log(this.state))
  };

此外,我相信 React Native 模式需要此属性,除非这是您创建的自定义组件 <Modal visible={this.state.registerWithMail}>

https://facebook.github.io/react-native/docs/modal.html#visible

关于javascript - setState() 函数不起作用,我无法更新我的状态。我怎么解决这个问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57650227/

相关文章:

javascript - 遍历对象内的对象以创建嵌套菜单?

react-native - undefined 不是对象(评估 'data.length' )

react-native - 要在Visual Studio Code中为React Native自动完成工作,需要采取什么步骤?

javascript - JSON.parse() 可以指示有效的 JSON 格式吗?

javascript - 使用PHP将JS文件包含到php文件中出错

Javascript - 是否使用 onload 事件

android - 错误 : Watchman was not found in PATH in windows

javascript - 如何使用 ajax 发布表单并返回数组中的数据?

javascript - react 组件和无效输入

javascript - 开 Jest : Mock function have not been called in mock promise function