【问题标题】:How do I conditionally count one of the states in react native?我如何有条件地计算反应原生的状态之一?
【发布时间】:2020-04-29 17:49:32
【问题描述】:

我刚刚开始通过构建一个测验应用程序来学习 React Native。

我正在计算以下两件事;

  1. numberOfTry :尝试回答测验的次数。
  2. numberOfCorrectAnswerOnFisrtTry :第一次尝试回答的尝试次数。

没有。 1没问题。但是第二号让我死了好几天。我想知道单击按钮时如何有条件地更改其中一种状态。

从“反应”导入反应,{组件}; 从'react-native'导入{视图,文本,按钮}; 类测验扩展组件{ 状态 = { 测验位置:10, 尝试次数:0, numberOfCorrectAnserOnFirstTry: 0, isFirstTry: 真 } 更新计数 = () => { 这个.setState({ 如果(isFirstTry = true){ numberOfCorrectAnserOnFirstTry: numberOfCorrectAnserOnFirstTry +1 } numberOfTry: this.state.numberOfTry+1, isFirstTry:假, }); } 使成为 () { 返回 ( 您尝试了 {this.state.numberOfTry +1 } 次。 更正 {this.state.numberOfCorrectAnserOnFirstTry} 次 ) } } 导出默认测验

【问题讨论】:

    标签: javascript reactjs react-native react-native-android


    【解决方案1】:

    我假设this.state.quiz_position 是指示当前问题的索引,而不是您不需要状态中的isFirstTry 标志。

    updateCount = () => {
        const { numberOfCorrectAnserOnFirstTry, numberOfTry, quiz_position } = this.state;
        const isFirstTry = quiz_position === 0;
    
        this.setState({
            numberOfCorrectAnserOnFirstTry: isFirstTry? numberOfCorrectAnserOnFirstTry + 1 : numberOfCorrectAnserOnFirstTry
            numberOfTry: numberOfTry + 1,
       });
    }
    

    【讨论】:

    • 谢谢安杜斯!!你真的救了我。
    • @Lee 很高兴它对你有帮助,如果你能接受这个作为答案,那就太好了:)
    • 嗨,Andus,我当然会。但目前看来我没有足够的积分来接受或投票。
    猜你喜欢
    • 2021-05-19
    • 2018-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-29
    • 1970-01-01
    • 2021-03-23
    • 2020-05-13
    相关资源
    最近更新 更多