react-native - 无法访问组件函数内的setState

and*_*ini 5 state reactjs react-native

我正在学习反应原生,现在我因为这个错误而被困在州课上:

_this2.setState is not a function.
Run Code Online (Sandbox Code Playgroud)

这是当前的代码块.

...
export default class StopWatch extends Component {

  constructor(props){
    super(props);
    this.state = {
      timeElapsed: null
    }
  }

  handleStartStopClick(){
    var startTime = new Date();

    setInterval(() => {
      this.setState(previousState => {
        return {timeElapsed:new Date() - startTime};
      });
    }, 100);
  }
...
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

Mot*_*Azu 8

handleStartStopClickthis不是您的类的实例的上下文中调用.您可以通过添加.bind(this)到作为单击处理程序传递的函数来避免这种情况.

<TouchableHighlight onPress={this.handleStartStopClick.bind(this)}>
Run Code Online (Sandbox Code Playgroud)