React.js
  • Roadmap belajar React.js
  • Tahap 1: Dasar-dasar JavaScript
    • Apa itu JavaScript dan kegunaannya
    • Sejarah dan perkembangan JavaScript
    • Apa itu Node.js dan hubungannya dengan JavaScript
    • Cara instal Node.js
    • Cara menjalankan JavaScript di Node.js
    • Variabel dalam JavaScript
    • Tipe data dalam JavaScript
    • Operator dalam JavaScript
    • Truly dan Falsy dalam JavaScript
    • Kondisional dalam JavaScript
    • Looping dalam JavaScript
    • Fungsi dalam JavaScript
    • Parameter dan Return Value dalam JavaScript
    • DOM di JavaScript dan Cara manipulasinya
    • Event Handling dalam JavaScript
    • Try, catch, dan finally dalam JavaScript
    • Callback dalam JavaScript
    • Promise dalam JavaScript
    • Async dan Await dalam JavaScript
  • Tahap 2: JavaScript Lanjutan
    • OOP dalam JavaScript
    • ES6
    • LocalStorage dalam JavaScript
    • FetchAPI dalam JavaScript
  • Tahap 3: Memulai dengan React.js
    • Apa itu React?
    • Konsep Virtual DOM
    • Apa itu JSX?
    • Langkah-langkah Setup Project React.js
    • Apa itu Komponen dalam React?
    • Apa itu Props dan State dalam React?
    • Apa itu Event Handling dalam React?
    • Apa itu Component Lifecycle dalam React?
    • Apa itu Hooks dalam React?
    • Apa itu Custom Hooks dalam React?
  • Tahap 4: React Lanjutan
    • Apa itu Context API dalam React?
    • Apa itu State Management (Redux)?
    • Apa itu Routing di React?
    • Apa itu Dynamic Routing, Private Routing, dan Nested Routing?
    • Cara menulis CSS di React
    • Cara Menggunakan Bootstrap di React
    • Cara Menggunakan Tailwind CSS di React
    • Cara Fetching data dari API di React
    • Cara Menampilkan data dinamis di React
    • Error handling dalam pengambilan data
    • Cara Testing komponen di React
    • End-to-end testing dengan Cypress atau Selenium
Powered by GitBook
On this page
  1. Tahap 3: Memulai dengan React.js

Apa itu Component Lifecycle dalam React?

Component lifecycle dalam React merujuk pada serangkaian metode yang dipanggil pada berbagai tahap siklus hidup sebuah komponen. Metode ini memungkinkan pengembang untuk mengeksekusi kode pada titik-titik tertentu selama masa hidup komponen, seperti saat komponen di-mount, di-update, atau di-unmount dari DOM.

Metode Utama Component Lifecycle:

  1. componentDidMount: Dipanggil setelah komponen dipasang (mount) ke DOM.

  2. componentDidUpdate: Dipanggil setelah komponen diperbarui (update).

  3. componentWillUnmount: Dipanggil tepat sebelum komponen dilepas (unmount) dari DOM.

Contoh Komponen Kelas dengan Lifecycle Methods

Berikut adalah contoh komponen React yang menggunakan ketiga lifecycle methods ini:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>React Component Lifecycle</title>
</head>
<body>
    <div id="root"></div>
    <script src="https://unpkg.com/react@17/umd/react.development.js"></script>
    <script src="https://unpkg.com/react-dom@17/umd/react-dom.development.js"></script>
    <script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script>
    <script type="text/babel">

      class LifecycleDemo extends React.Component {
        constructor(props) {
          super(props);
          this.state = {
            count: 0
          };
          console.log('Constructor: Component is being created.');
        }

        componentDidMount() {
          console.log('ComponentDidMount: Component has been mounted.');
        }

        componentDidUpdate(prevProps, prevState) {
          console.log('ComponentDidUpdate: Component has been updated.');
        }

        componentWillUnmount() {
          console.log('ComponentWillUnmount: Component is about to be unmounted.');
        }

        incrementCount = () => {
          this.setState({ count: this.state.count + 1 });
        };

        render() {
          return (
            <div>
              <h1>Count: {this.state.count}</h1>
              <button onClick={this.incrementCount}>Increment</button>
            </div>
          );
        }
      }

      class App extends React.Component {
        constructor(props) {
          super(props);
          this.state = {
            showComponent: true
          };
        }

        toggleComponent = () => {
          this.setState({ showComponent: !this.state.showComponent });
        };

        render() {
          return (
            <div>
              <button onClick={this.toggleComponent}>
                {this.state.showComponent ? 'Hide' : 'Show'} Component
              </button>
              {this.state.showComponent && <LifecycleDemo />}
            </div>
          );
        }
      }

      ReactDOM.render(
        <App />,
        document.getElementById('root')
      );

    </script>
</body>
</html>

Penjelasan Kode

  1. Constructor:

    • Dipanggil saat komponen pertama kali dibuat. Biasanya digunakan untuk menginisialisasi state atau mengikat metode.

  2. componentDidMount:

    • Dipanggil setelah komponen di-mount ke DOM.

    • Biasanya digunakan untuk melakukan operasi asinkron seperti mengambil data dari API atau mengatur event listener.

  3. componentDidUpdate:

    • Dipanggil setelah komponen diperbarui, baik karena perubahan state atau props.

    • Berguna untuk menangani pembaruan yang tergantung pada perubahan tertentu pada state atau props.

  4. componentWillUnmount:

    • Dipanggil tepat sebelum komponen dilepas dari DOM.

    • Berguna untuk membersihkan event listener, membatalkan permintaan jaringan, atau membersihkan sumber daya lainnya.

  5. App Component:

    • Komponen ini digunakan untuk menunjukkan cara toggle LifecycleDemo komponen, memanggil componentWillUnmount ketika komponen di-hide.

Sumber

Lifecycle methods sangat penting untuk mengelola perilaku komponen pada berbagai tahap siklus hidupnya, memungkinkan pengembang untuk menangani operasi asinkron, melakukan pembaruan, dan membersihkan sumber daya dengan tepat.

PreviousApa itu Event Handling dalam React?NextApa itu Hooks dalam React?

Last updated 9 months ago

React Documentation - State and Lifecycle
React Documentation - Component Lifecycle
MDN Web Docs - React components