Component lifecycle pada react js

oke minggu lalu kita sudah membahas tentang react router pada react js. bagi yang belum baca bisa baca disini. oke, apa yang kita bahas untuk minggu ini? oke minggu ini kita akan membahas Component Lifecycle pada react js.

jadi apa itu component lifecycle? oke pada dasarnya component lifecycle adalah sirklus hidup pada react js. Sama seperti manusia, setiap component di react js ternyata juga memiliki siklus hidup.

Component – component di react js akan melewati tiga fase hidup, yaitu :

  • Mounting
  • Updating
  • Unmounting

oke gausah bingung saya akan menjelaskan dan menjabarkan beberapa hal diatas.

Mounting

Pada fase ini ada tiga methods yang akan di eksekusi yaitu:

  • componentWillMount
  • componentDidMount
  • render

componentWillMount adalah method yang akan di eksekusi pertama kali, kemudian akan mengeksekusi method render.

Di dalam method render inilah kita menyimpan tag tag html yang nanti nanti akan di render sebagai jsx oleh react, gaya penulisan tag html di file html biasa juga sedikit berbrda dibandingkan dengan di jsx.

Setelah method render di eksekusi baru kemudian mengeksekusi method componentDidMount

operasi lain seperti request data dari API semuanya dilakukan di sini.

Updating

Fase updating adalah fase ketika sebuah component akan di render ulang, biasanya ini terjadi ketika ada perubahan pada state atau props yang mengakibatkan perubahan DOM.

Pada fase ini ada 5 methods yang akan di eksekusi yaitu:

  • componentWillReceiveProps :
  • fungsi ini akan di eksekusi bila state yang ada di component akan di update atau di ubah dengan nilai props yang baru.
  • shouldComponentUpdate :
  • funsi ini adalah untuk menentukan apakah sebuah component akan di render ulang atau tidak.Method ini akan mengembalikan nilai boolean true & false, jika true maka component akan di render ulang atau sebaliknya.
  • componentWillUpdate :
  • fungsi ini akan di eksekusi jika fungsi shouldComponentUpdate mengembalikan nilai true. Kemudian kembali method render akan di jalankan
  • componentDidUpdate :
  • fungsinya sama dengan componentDidMount yaitu untuk manipulasi DOM dan request data.

Unmount

Fase unmounting adalah fase ketika component di hapus dari DOM

di fase ini method yang akan di eksekusi hanya ada satu yaitu componentWillUnmount, yang akan di eksekusi sebelum sebuah component di hapus dari DOM.

mungkin sekian untuk hari ini, semoga bermanfaat.

React JS: Setup Router

React js. Javascript library keluaran facebook ini cukup banyak di gandrungi banyak depelover karena performanya yang cukup powerfull. di artikel kali ini saya akan membahas cara penerapan routing di library ini. tetapi, sebelum membahas cara routing di react js saya akan membahas sedikit apa itu routing dalam website.

kalo kita terjemahkan kedalam bahasa indonesia routing adalah rute, jadi seperti namanya pada dasarnya kita memetakan sebuah URL ke sebuah file atau data tertentu. sudah terbayang? mari kita masuk ke routing di react js.

Step 1

Saya asumsikan kalian sudah menginstal project react, jika belum silahkan install disini dan pastikan sudah terinstall node dan npm di pc anda. jika sudah silahkan buka projectnya di code editor kalian kesukaan kalian masing-masing, kali ini saya akan memakai visual studio code untuk code editornya, buka terminal yang mengarah ke directory project anda lalu ketikan “npm start” untuk menyalakan servernya. lalu akan diberikan alamat server lokalnya, “Default: localhost:3000” jika sudah seperti inilah tampak project dan struktur folder awal react js.

Step 2

Untuk mengintegrasikan react router kita membutuhkan library yang bernama react router dom, buka terminal yang mengarah ke di directory project anda lalu ketikan “npm i react-router-dom” atau jika anda menggunakan yarn ketikan “yarn add react-router-dom” klik untuk lihat lebih lanjut.

jika sudah terinstall buka file app yang ada di directory src lalu import library react-router-dom yang tadi kita install

untuk contoh kita akan memidahkan laman about dan home. buatlah file berikut di dalam directory app:

  • Home.js
  • About.js

lalu buat struktur react seperti ini di masing masing file

import React from 'react'

function Home() {
    return (
        <div&gt;
            <h1&gt;Home Page</h1&gt;
        </div&gt;
    )
}

export default Home

import React from 'react'

function About() {
    return (
        <div&gt;
            <h1&gt;About Page</h1&gt;
        </div&gt;
    )
}

export default About

jika sudah buka file app lalu import kedua komponen tersebut dan bungkus kedalam class Router switch dan route lalu beri masing masing path dalam setiap route. jika sudah kodenya akan seperti ini

import logo from './logo.svg';
import {BrowserRouter as Router, Switch, Route, Link} from "react-router-dom";
import Home from './Home'
import About from './About'
import './App.css';

function App() {
  return (
    <Router&gt;
      <div&gt;
        <Switch&gt;
          <Route path="/about"&gt;
            <About /&gt;
          </Route&gt;
          <Route path="/"&gt;
            <Home /&gt;
          </Route&gt;
        </Switch&gt;
      </div&gt;
    </Router&gt;
  );
}

export default App;

lalu beri link untuk berpindah, senhinnga kode terlihat seperti ini

import logo from './logo.svg';
import {BrowserRouter as Router, Switch, Route, Link} from "react-router-dom";
import Home from './Home'
import About from './About'
import './App.css';

function App() {
  return (
    <Router&gt;
      <div&gt;
        <nav&gt;
          <ul&gt;
            <li&gt;
              <Link to="/"&gt;Home</Link&gt;
            </li&gt;
            <li&gt;
              <Link to="/about"&gt;About</Link&gt;
            </li&gt;
            <li&gt;
              <Link to="/users"&gt;Users</Link&gt;
            </li&gt;
          </ul&gt;
        </nav&gt;
        <Switch&gt;
          <Route path="/about"&gt;
            <About /&gt;
          </Route&gt;
          <Route path="/"&gt;
            <Home /&gt;
          </Route&gt;
        </Switch&gt;
      </div&gt;
    </Router&gt;
  );
}

export default App;

mungkin sekian yang bisa saya berikan untuk hari ini. sekian terimakasih.