Penggunaan Class dan Function Component React Native

Pada versi React Native 0.62 yang beberapa waktu yang lalu direlease, kita melihat di halaman dokumentasi React Native, pembuatan Component lebih mengutamakan penggunaan Function daripada Class.

Memang kalau dilihat kodenya, Function Component lebih sedikit dalam penulisan kode dibandingkan Class Component. Berikut contohnya :

Basic Function Component

import React from 'react';
import { Text } from 'react-native';

export default function Cat() {
  return (
    <Text>Hello, I am your cat!</Text>
  );
}

Basic Class Component

import React, { Component } from 'react';
import { Text } from 'react-native';

export default class Cat extends Component {
  render() {
    return (
      <Text>Hello, I am your cat!</Text>
    );
  }
}

Contoh diatas adalah contoh Basic Component dari masing-masing metode. Terlihat bahwa Function Component lebih ringkas secara penulisan Kode. Hal inilah yang membuat ReactJS juga mulai mengalihkan Class Component menjadi Function Component.

Jadi, mengapa sebaiknya kita mulai beralih ke Function Component ?

  1. Lebih mudah dibaca dan dipahami, karena menggunakan pure Javascript Function
  2. Penulisan kode yang lebih ringkas
  3. Penggunaan State menjadi lebih mudah
  4. Penggunaan Lifecycle juga lebih mudah
  5. Performance yang lebih baik

Pada point 4 dan 5 diatas, React memiliki metode baru yaitu React Hook, dimana dengan Hook inilah bekerja dengan State dan Lifecycle pada Functional Component.

Contoh penggunaan State pada React Hook

import React, { useState } from 'react';

function Example() {
  // Declare a new state variable, which we'll call "count"
  const [count, setCount] = useState(0);

  return (
    <div>
      <p>You clicked {count} times</p>
      <button onClick={() => setCount(count + 1)}>
        Click me
      </button>
    </div>
  );
}

Keyword “useState” adalah tanda bawah constanta count adalah sebuah State, dan setCount adalah function yang nanti akan digunakan untuk mengubah nilai state count.

Berbeda ketika kita menggunakan Class, dimana kita harus menggunakan method atau function setState untuk mengunah nilai state.

Cukup mudah bukan ?? Jadi mulai sekarang kamu sebaiknya sudah mulai beralalih ke Functional Component ya 🙂

Baca juga Artikel React Native lainnya :

  1. Berkenalan dengan React Native
  2. Pengenalan & Basic React Native
  3. Belajar React Native Props
  4. Belajar React Native State