如何在本机反应中切换布尔值?

时间:2020-03-14 16:05:11

标签: javascript reactjs react-native boolean

当结果为Boolean时,我努力将undefined的状态从true切换为false。我已经尝试了很多,但是没有用。

构造函数中的布尔状态定义如下:

class UserInfo extends Component{
constructor(props){
    super(props);
    this.state = {
    token : '',
    isVisible : true,
   };
}

此函数应检查token是否具有值或undefined,然后相应地继续执行正确的条件。但是,当tokenundefined时,isVisible不会切换为false,无论如何它都将保持为真。

任何建议,我将不胜感激。

 ToggleFunction = (token) => {
    if (this.state.token === undefined){
      this.setState({
        isVisible: !this.state.isVisible,
        });   
  }
  else {
    this.setState(state => ({

      isVisible: state.isVisible


    }));
  }
};

1 个答案:

答案 0 :(得分:0)

在ToggleFunction中,您正在从方法调用的参数中检查this.state.token === undefined,而不是token === undefined

尝试:

ToggleFunction = (token) => {
    if (token === undefined){
      this.setState({
        isVisible: !this.state.isVisible,
        });   
  }
  else {
    this.setState(state => ({
      isVisible: state.isVisible
    }));
  }
};