如何在React Native中切换状态

时间:2018-10-19 05:00:22

标签: javascript ios reactjs react-native mobile

我正在使用React Native开发一个轻量级的项目,但遇到了一些挫折,我无法弄清楚。 :(

我有一个页面,其中包含一个Yes和一个No按钮以及一个“是/否”渲染区域,用户将可以单击任意一个按钮。根据用户的选择,头像将出现在正确的渲染区域中(单击“是”,该头像将在“是”区域中...)。但是一个用户只能单击一次。我正在尝试使用statesetState解决此问题,但无法使其正常工作。

我有: this.state = {invitedState : false} 和一个函数(部分)

    onPress={() => {
      if (this.state.invitedState) {
        onPress();
      }
      this.setState(prevState => ({
        invitedState: !prevState.invitedState,
      }));
    }}

我不应该使用setState解决此问题吗? 谢谢!

2 个答案:

答案 0 :(得分:1)

我想我理解您的问题。像这样吗?

  state = {
    toggleUI: true,
    userToggled: false
  };

  handleToggleUI = e => {
    this.setState(currentState => {
      if ( this.state.userToggled === false ) {
        return {
          toggleUI: !currentState.toggleUI,
          userToggled: true
        };  
      }
    });
  };

答案 1 :(得分:0)

您可以尝试:

onPress{() => {
    let tempVar = this.state.invitedState ? false : true;
    this.setState({invitedState: tempVar});
}