您好,我现在还在使用我的简单计算器,我已经得到了这组代码,它可以进行计算或函数/事件
export default class App extends Component {
constructor(props){
super(props);
this.state = {
firstInput: '',
secondInput: '',
sum: 0,
difference: 0,
product: 0,
quotient: 0,
result: 0,
};
}
//CALCULATIONS FORMULA
calculateSum = () => {
const { firstInput, secondInput } = this.state;
this.setState({
sum: Number(firstInput) + Number(secondInput)
});
}
calculateDifference = () => {
const { firstInput, secondInput } = this.state;
this.setState({
difference: Number(firstInput) + Number(secondInput)
});
}
calculateProduct = () => {
const { firstInput, secondInput } = this.state;
this.setState({
product: Number(firstInput) + Number(secondInput)
});
}
calculateQuotient = () => {
const { firstInput, secondInput } = this.state;
this.setState({
quotient: Number(firstInput) + Number(secondInput)
});
}
//stores input from user
storeFirstInput = (number1) => {
this.setState({firstInput: number1})
}
storeSecondInput = (number2) => {
this.setState({secondInput: number2})
}这是我想要根据按下的按钮更改的文本
<View style={styles.answerContainer}>
{/****** ANSWER HOVERING TEXT ******/}
<Text
style = {{
fontWeight: 'bold',
fontSize: 30,
color: '#242582',
}}>
ANSWER:
</Text>
{/****** RESULT OF USER INPUT ******/}
<Text
style={styles.answerText}
>
{this.state.sum}
</Text>
</View>我有4个按钮,即+,-,*和/(和,差,积和商)
<View style={styles.buttonContainer}>
{/****** ADD BUTTON CONTAINER ******/}
<View Style={styles.addButtonContainer}>
<TouchableOpacity Style={styles.addButtonDesign}
onPress={this.calculateSum}
>
<Text style ={styles.buttonText}> + </Text>
</TouchableOpacity>
</View>
{/****** SUBTRACT BUTTON CONTAINER ******/}
<View Style={styles.subtractButtonContainer}>
<TouchableOpacity Style={styles.subButtonDesign}
onPress={this.calculateDifference}
>
<Text style ={styles.buttonText}> - </Text>
</TouchableOpacity>
</View>
{/****** MULTIPLY BUTTON CONTAINER ******/}
<View Style={styles.multiplyButtonContainer}>
<TouchableOpacity Style={styles.mulButtonDesign}
onPress={this.calculateProduct}
>
<Text style ={styles.buttonText}> * </Text>
</TouchableOpacity>
</View>
{/****** DIVIDE BUTTON CONTAINER ******/}
<View Style={styles.divideButtonContainer}>
<TouchableOpacity Style={styles.divButtonDesign}
onPress={this.calculateQuotient}
>
<Text style ={styles.buttonText}> ÷ </Text>
</TouchableOpacity>
</View>这就是问题所在!每当我按下-,*或/按钮时,它不会显示正确的公式,它总是只显示总和。有没有办法在代码中的某个地方执行IF语句,如果按钮被按下,它会在代码的文本部分中放入{this.state.difference}?任何帮助我们都将不胜感激!
发布于 2018-12-18 15:21:31
经过一段时间的研究,我已经找到了答案,似乎这完全是我的错。我将之前的代码更改为以下代码
calculateQuotient = () => {
const { firstInput, secondInput, result } = this.state;
this.setState({
result: Number(firstInput) / Number(secondInput),
});
}文本结果如下
{this.state.result}它现在存储我按下的按钮的值
https://stackoverflow.com/questions/53827295
复制相似问题