我如何有条件地计算本机反应中的一种状态?
How do I conditionally count one of the states in react native?
我刚刚开始通过构建测验应用程序来学习 React Native。
我正在数以下两件事;
- numberOfTry : 尝试回答测验的次数。
- 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,
});
}
我刚刚开始通过构建测验应用程序来学习 React Native。
我正在数以下两件事;
- numberOfTry : 尝试回答测验的次数。
- 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,
});
}