React.js : How to stop re-rending child component when parent state is changed React


Di dalam React.js ketika ada perubahan state di dalam induk component, maka child / anak component akan di render ulang.

Terus bagaimana cara agar component child tersebut di stop / tidak melakukan rendering ulang ? Berikut ini solusi yang bisa teman-teman gunakan.

Terima Kasih.


React JS JavaScript
SOLUTIONS

Berikut ini adalah beberapa solusi yang mungkin bisa membantu kamu.


Untuk mengatasi child component yang di render ulang saat state di dalam parent berubah, maka kita bisa menggunakan React.memo di dalam child component.

Alih-alih melakukan export seperti ini export default ChildComponent, kita bisa menggunakan export default React.memo(ChildComponent).

Contoh lebih jelasnya seperti berikut ini.

Parent Component

import React, { useState } from "react";
import ReactDOM from "react-dom";

//import child component
import ChildComponent from "./ChildComponent";

function App() {
  const [counter, setCounter] = useState(0);

  return (
    <div className="App">
      
      <button onClick={(e) => setCounter(counter+1)}>Click me</button>

      {/* render child component  */}
      <ChildComponent />
  
    </div>
  );
}

const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);

Child Component

import React from "react";

function ChildComponent(props) {
  return <div className="App">child Page</div>;
}

export default React.memo(ChildComponent);

Terima Kasih

KEBIJAKAN KOMENTAR

Saat memberikan komenatar silahkan memberikan informasi lengkap tentang error, seperti: screenshot, link kode, dll. Baca aturan komentar kami