我如何有条件地计算本机反应中的一种状态?

How do I conditionally count one of the states in react native?

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

我正在数以下两件事;

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

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


    import React, {Component} from 'react';
    import { View, Text, Button } from 'react-native';

    class Quiz extends Component {

        state = {
            quiz_position: 10,
            numberOfTry: 0,
            numberOfCorrectAnserOnFirstTry: 0,
            isFirstTry: true
        }

        updateCount = () => {
            this.setState({
                if (isFirstTry = true) {
                    numberOfCorrectAnserOnFirstTry: numberOfCorrectAnserOnFirstTry +1
                }
                numberOfTry: this.state.numberOfTry+1,
                isFirstTry: false,
              });
        }

        render () {

            return (
                 
                     You tried {this.state.numberOfTry +1 } times.
                     Correct {this.state.numberOfCorrectAnserOnFirstTry} times
                    
                    
                
            )
        }
    }

    export default Quiz

我假设 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,
   });
}