Skip to main content
ReactJS

Component & Props

By December 28, 2022No Comments

Component merupakan bagian terkecil dari sebuah aplikasi react. Jika aplikasi itu adalah sebuah mobil, maka component itu adalah ban, pintu, jendela, bagasi, blok mesin, dan lain sebagainya.

Lalu bagaimana cara membuat sebuah component?

Membuat component bisa dilakukan dengan menggunakan arrow function

import React from 'react';

const Greetings = () => {
  return (
    <h1 className="text-4xl font-extrabold">
      Hallo User, selamat pagi
    </h1>
  );
};

export default Greetings;

Selamat, kamu baru saja membuat component pertamamu!

Selanjutnya, bagaimana menggunakan component yang telah kita buat? Perhatikan source code dibawah, kita akan menggunakan component Greetings di dalam component App.

import React from 'react';
import Greetings from './Greetings';

function App() {
  return (
    <div>
      <Greetings />
    </div>
  );
}

export default App;

Jika kalian lihat browser harusnya akan terlihat seperti gambar dibawah

Seperti yg bisa kalian lihat, saat ini tampilan di browser hanya statik “Halo user, selamat pagi”. Bagaimana cara kita mengganti “user” dengan text lainnya misalnya ganti pakai nama kalian dan dinamis? Disinilah peran props untuk passing data dari parent component ke child component. untuk menggunakan props, kita akan memodifikasi component greetings seperti dibawah ini

import React from 'react';

const Greetings = (props) => {
  //component greetings menerima props
  return (
    <h1 className="text-4xl font-extrabold">
      Hallo {props.name}, selamat pagi
    </h1>
  );
};

export default Greetings;

untuk menampilkan isi dari props, kita menggunakan kurung kurawal. Setelah component Greeting menerima props, lalu siapa yg mengirimkannya? jawabannya adalah parent component, dimana parent component saat ini adalah component App. kita modifikasi dulu component App agar mengirimkan props ke component greetings seperti code dibawah

import React from 'react';
import Greetings from './Greetings';

function App() {
  return (
    <div>
      <Greetings name="Nyo" />
    </div>
  );
}

export default App;

Component App mengirimkan props dengan nama “name” ke Component Greetings. Begitulah cara mengirimkan dan menerima props.

Default Props

Jika saya tidak mengirimkan Props name apa yang terjadi? mari kita coba menambahkan component greeting lainnya di dalam App.js. Lihat code dibawah

import React from 'react';
import Greetings from './Greetings';

function App() {
  return (
    <div>
      <Greetings name="Nyo" />
      <Greetings />
    </div>
  );
}

export default App;

Seperti yang kalian lihat pada component Greetings pertama berisikan isi dari props name, sedangkan pada component Greetings kedua tidak ada props name. Bagaimana caranya agar props name memiliki nilai default? Kita akan menggunakan object destructuring, lihat code dibawah

import React from 'react';

const Greetings = ({ name = 'User' }) => {
  //component greetings menerima props
  return (
    <h1 className="text-4xl font-extrabold">
      Hallo {name}, selamat pagi
    </h1>
  );
};

export default Greetings;

Jika kita lihat di browser, ketika props.name tidak di definisikan maka akan diisi oleh default valuenya yaitu “user”.