Estoy tratando de aprender React y no entiendo por qué esto no hace nada cuando intento sin una función de flecha.
componentDidMount() { var self = this this.timer = window.setInterval(function () { self.increment }, 1000) } ¿Es el patrón correcto self.increment() ?
Entonces, ¿por qué necesito el () cuando no lo necesito en:
componentDidMount() { this.timer = window.setInterval(this.increment.bind(this),1000) }No está invocando self.increment, está analizando correctamente this para que su código funcione. Tal vez parezca que no funciona porque la devolución de llamada de su intervalo no hace nada :)
Además, aquí hay una versión más simple de su código, puede omitir .bind si su función no necesita acceder al alcance de su componente, pero normalmente en reaccionar desearía acceder a eso:
this.timer = setInterval(this.increment.bind(this), 1000)