¿Cuál es el equivalente de la función $ watch de angular en React.js?
Quiero escuchar los cambios de estado y llamar a una función como getSearchResults ().
componentDidMount: function() {
this.getSearchResults();
}
javascript
reactjs
Eniz Gülek
fuente
fuente
Se invocarán los siguientes métodos de ciclo de vida cuando cambie el estado. Puede usar los argumentos proporcionados y el estado actual para determinar si algo significativo cambió.
fuente
componentDidUpdate
el componente con el prop era la receta correcta. Gracias por esto.componentWillUpdate
está en desuso: reactjs.org/blog/2018/03/27/update-on-async-rendering.htmlcomponentDidUpdate
no se disparará también cuando reciba nuevos accesorios, no necesariamente solo cuando cambie el estado?componentWillUpdate
es obsoleto.Creo que debería usar el siguiente ciclo de vida del componente como si tuviera una propiedad de entrada que en la actualización necesita para activar la actualización de su componente, este es el mejor lugar para hacerlo, ya que se llamará antes de renderizar, incluso puede hacer que el estado del componente de actualización sea reflejado en la vista.
fuente
Desde React 16.8 en 2019 con useState y useEffect Hooks, los siguientes ahora son equivalentes (en casos simples):
AngularJS:
Reaccionar:
fuente
Usar useState con useEffect como se describió anteriormente es la forma absolutamente correcta. Pero si la función getSearchResults devuelve la suscripción, useEffect debería devolver una función que será responsable de cancelar la suscripción. La función devuelta de useEffect se ejecutará antes de cada cambio de dependencia (nombre en el caso anterior) y en la destrucción de componentes
fuente
Ha pasado un tiempo, pero para referencia futura: se puede usar el método shouldComponentUpdate ().
ref: https://reactjs.org/docs/react-component.html
fuente
shouldComponentUpdate
lo que podría no ser adecuado para este caso de uso.