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 Custom Hooks dalam React?

Custom Hooks adalah fungsi JavaScript yang memanfaatkan hooks bawaan dari React (useState, useEffect, dll.) untuk mengenkapsulasi dan menggunakan kembali logika stateful. Custom Hooks memungkinkan Anda mengekstrak logika dari komponen dan membaginya di antara beberapa komponen.

Custom Hooks memberikan cara yang lebih modular dan bersih untuk menangani logika yang kompleks atau berulang.

Contoh Custom Hook

Berikut adalah contoh sederhana custom hook untuk menangani logika penghitungan dalam komponen fungsional.

Membuat Custom Hook useCounter

import React, { useState } from 'react';

// Custom Hook
function useCounter(initialValue = 0) {
  const [count, setCount] = useState(initialValue);

  const increment = () => setCount(count + 1);
  const decrement = () => setCount(count - 1);
  const reset = () => setCount(initialValue);

  return { count, increment, decrement, reset };
}

Menggunakan Custom Hook di Komponen

import React from 'react';
import ReactDOM from 'react-dom';
import { useCounter } from './useCounter'; // Import custom hook

function Counter() {
  const { count, increment, decrement, reset } = useCounter(0);

  return (
    <div>
      <h1>Count: {count}</h1>
      <button onClick={increment}>Increment</button>
      <button onClick={decrement}>Decrement</button>
      <button onClick={reset}>Reset</button>
    </div>
  );
}

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

Penjelasan Kode

  1. Custom Hook useCounter:

    • useState: Menginisialisasi state count dengan nilai awal yang diberikan sebagai parameter (initialValue).

    • increment, decrement, reset: Fungsi untuk memperbarui state count.

    • Return: Mengembalikan objek yang berisi count, increment, decrement, dan reset.

  2. Menggunakan Custom Hook di Komponen Counter:

    • Import useCounter: Mengimpor custom hook dari file lain.

    • Deklarasi: Memanggil useCounter untuk mendapatkan count, increment, decrement, dan reset.

    • Render: Menggunakan nilai dan fungsi yang dikembalikan oleh useCounter untuk membuat antarmuka pengguna.

Manfaat Custom Hooks

  1. Reusabilitas: Custom hooks memungkinkan logika stateful digunakan kembali di beberapa komponen.

  2. Modularitas: Memisahkan logika dari komponen membuat kode lebih modular dan mudah dibaca.

  3. Kebersihan Kode: Mengurangi pengulangan kode dan menjaga komponen tetap fokus pada tampilan.

Sumber

Dengan menggunakan custom hooks, Anda dapat memisahkan logika bisnis dari komponen presentasi, membuat aplikasi lebih modular dan mudah dikelola. Custom hooks juga memungkinkan logika yang rumit untuk digunakan kembali di berbagai tempat dalam aplikasi Anda.

PreviousApa itu Hooks dalam React?NextApa itu Context API dalam React?

Last updated 9 months ago

React Documentation - Building Your Own Hooks
MDN Web Docs - React Custom Hooks