Javascript ';Can';找不到变量:单击';以自然反应

Javascript ';Can';找不到变量:单击';以自然反应,javascript,react-native,object,ecmascript-6,Javascript,React Native,Object,Ecmascript 6,以下代码显示了单击“单击我”时出现的错误按钮,表示变量“clicks”无法找到,但它在状态中被正确提及 import { StyleSheet, Alert, Text, View, TouchableOpacity} from 'react-native'; import { Button } from 'native-base'; export default class App extends React.Component { constructor(props) { sup

以下代码显示了单击“单击我”时出现的错误按钮,表示变量“clicks”无法找到,但它在状态中被正确提及

import { StyleSheet, Alert, Text, View, TouchableOpacity} from 'react-native';
import { Button } from 'native-base';
export default class App extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      clicks: 0
    };
  }
buttonPressed = () => {
 if(this.state.clicks > 5)
 {
    Alert.alert('Caution!','You have clicked 5 times already!');
    this.setState({clicks: 0});
    this.forceUpdate();
 }
 this.setState({clicks: clicks+1});
}
render() {
    return (
      <View>
        <TouchableOpacity onPress={()=>{this.buttonPressed()}}>
           <Text>Click Me!</Text>
        </TouchableOpacity>
      </View>
)};
从'react native'导入{样式表、警报、文本、视图、TouchableOpacity};
从“本机基”导入{Button};
导出默认类App扩展React.Component{
建造师(道具){
超级(道具);
此.state={
点击次数:0
};
}
按钮按下=()=>{
如果(this.state.clicks>5)
{
Alert.Alert('Caution!',您已经点击了5次!');
this.setState({clicks:0});
这个.forceUpdate();
}
this.setState({clicks:clicks+1});
}
render(){
返回(
{this.buttonPressed()}}>
点击我!
)};

如果没有变量名,则应定义它或使用此.state.clicks

改变这个

this.setState({ clicks: clicks + 1 });
对此

this.setState({ clicks: this.state.clicks + 1 });
还是这个

buttonPressed = () => {
 let {clicks} = this.state   // define `clicks` here
 if(clicks > 5)
 {
    Alert.alert('Caution!','You have clicked 5 times already!');
    this.setState({clicks: 0});
    this.forceUpdate();
 }
 this.setState({clicks: clicks+1});
 //                     ^^^^^^^
}

单击
不是变量-它是
this.state的属性

this.setState({ clicks: this.state.clicks + 1 });

这一行有问题:
this.setState({clicks:clicks+1})
未定义冒号右侧的
单击

您可以使用
setState
功能中的
prevState

this.setState(prevState => ({clicks: prevState.clicks + 1}));