¿Cuál es la diferencia entre forceUpdate vs render en ReactJS?

render(): en React, el método render() es más importante cuando se trabaja con un componente de clase. Sin este método, un componente de clase no puede devolver el valor. Todo el código HTML está escrito dentro del método render(). render() es parte del método de ciclo de vida del componente React. Se llama en diferentes etapas de la aplicación. Por ejemplo, cuando el componente se fabrica o está listo por primera vez. 

Ejemplo:

App.js

import React,{ Component } from 'react';
  
class App extends Component {
 render() {
   return (    
     <div>
        <h1 style={{color: "green"}}>
           Learn React from GFG!!
        </h1>
     </div>
    )
  }
}
      
export default App;

Producción:

forceUpdate():  en React, cuando se cambian los accesorios y el estado del componente, el componente se vuelve a renderizar automáticamente, pero cuando el componente depende de algunos datos que no sean el estado y los accesorios. En esa situación, se llama a forceUpdate para indicar que el componente requiere volver a renderizarse. Llamar a forceUpdate() volverá a renderizar el componente a la fuerza y, por lo tanto, llamará al método render() en el componente omitiendo el método shouldComponentUpdate().

Ejemplo:

App.js

import React from 'react';
class App extends React.Component{
  forceUpdateHandler=()=>{
    this.forceUpdate();
  };
    
  render(){
   console.log('Component is re-rendered');
    return(
      <div>
       <h3 style={{backgroundColor: "green"}>
        Example of forceUpdate() 
        method to show re-rendering
       </h3>
        <button onClick= {this.forceUpdateHandler} >
         FORCE UPDATE
        </button>
        <h4>Random Number :  
           { Math.floor(Math.random() * (100 - 1 +1)) + 1 }
        </h4>
      </div>
    );
  }
}
  
export default App;

Producción:

Forzar actualización

Diferencia entre forceUpdate vs render:

prestar()

forzarActualizar()

Este método se llama en las siguientes condiciones:

  • Cuando se instancia un componente.
  • Cuando se actualiza el estado o los accesorios.
Se llamará cuando cambien algunos datos que no sean el estado o las propiedades.
No omite ningún método de ciclo de vida. Omite el método shouldComponentUpdate del ciclo de vida.
No es llamable por el usuario. Se llama manualmente.
Se vuelve a renderizar automáticamente cuando sea necesario. Vuelve a renderizar el componente con fuerza.
Es de uso obligatorio ya que es el único método requerido en el componente Class. No se recomienda su uso. Debe evitarse.

Publicación traducida automáticamente

Artículo escrito por archnabhardwaj y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *