按代码中指定的按钮后,应用程序的状态不会更改。
import React from 'react'
import { View, Text, TextInput, Button} from 'react-native'
export default class App extends React.Component {
constructor() {
super()
this.state = {
text: '',
displayText: true
}
}
render() {
return (
<View>
<TextInput
onChangeText={(text) => this.setState({text})}
/>
<Button
onPress={(prevState) => this.setState({displayText: !prevState.displayText})}
title="Display"
/>
{this.state.displayText ? <Text>{this.state.text}</Text> : null}
</View>
)
}
}
如果修改了传递给onPress的函数,以便将displayText更改为false,它将按预期工作(隐藏文本)。问题很可能出在这部分。
<Button
onPress={(prevState) => this.setState({displayText: !prevState.displayText})}
title="Display"
/>
答案 0 :(得分:3)
public void Run(IIntegrationResult result)
{
result.Label = this.Generate(result);
}
是错误的,prevState参数来自setState作为函数,而不是来自onPress事件:)
应该是
<Button
onPress={(prevState) => this.setState({displayText: !prevState.displayText})}
title="Display"
/>
或
<Button
onPress={() => this.setState({displayText: !this.state.displayText})}
title="Display"
/>
答案 1 :(得分:0)
尝试一下
<Button
onPress={() => this.setState({displayText: !this.state.displayText})}
title="Display"
/>