author Ahmad Muhardian

Tutorial Reactjs #1: Pengenalan Dasar Reactjs untuk Pemula


Banyak yang membicarakan Reactjs.

Framework ini memang lagi populer.

Terbukti dengan banyaknya loker front-end web yang membutuhkan React Developer.

Saat ini (2020), Reactjs berada di posisi rangking 1 di antara pesaingnya.

Rangking Framework Front-end

Bisa dibilang, sekarang adalah Era-nya Reactjs dan era sang legenda kita si JQuery sudah berakhir.

Lalu..

Apakah kamu cuma mau nonton saja?

..dan merasa inscure karena belum bisa React.

Tenang..

Mari kita pelajari secara perlahan.

Apa sih itu React?

Apa aja basic yang harus kamu ketahui di React?

Mari kita mulai!

Apa itu Reactjs?

Reactjs adalah sebuah library untuk membuat UI (user interface) Web ( dan juga mobile).

Banyak orang menyebutnya sebagai framework, namun secara teknis.. Reactjs bukanlah sebuah framework. Melainkan sebuah library untuk membuat UI.

Mau sebut React itu framework atau library tidak ada masalah sih, keduanya benar.

Tutorial Belajar Reactjs Untuk Pemula

Gimana Cerita awal Reactjs dibuat?

Reactjs awalnya dibuat oleh Jordan Walke yang merupakan karyawan Facebook. Ia merilis prototipe pertama Reactjs dengan nama “FaxJS” yang terinspirasi dari XHP. 1

Facebook menyadari, aplikasi (web) mereka semakin kompleks. Bayangkan saja, ada banyak bagian yang harus terus di-update seperti news feed, chat list, chat box, dll. secara realtime.

Jika menggunakan cara tradisional seperti JQuery, ini akan memakan banyak biaya.

Biaya yang saya maksud di sini adalah biaya resource komputasinya. Bukan uang ya.

Karena itulah React hadir memberikan solusi. Yakni dengan menggunakan VirutalDOM yang menurut mereka lebih cepat.

View this post on Instagram

A post shared by Petani Kode | Coding & Growing (@petanikode)

Reactjs kemudian mulai digunakan di Facebook untuk membuat halaman News Feed di tahun 2011 dan kemudian di instagram pada tahun 2012.

Setahun berikutnya, di tahun 2013 Raectjs dibuka untuk umum alias menjadi proyek open-source.

Saat tulisan ini dibuat, perkembangan Reactjs sudah mencapai versi 16.11.0.

Persiapan Awal untuk Belajar Reactjs

Ada beberapa hal yang harus kamu persiapkan untuk memulai belajar Reactjs:

  • Web Browser
  • Teks Editor (rekomendasi VS Code)
  • Nodejs dan NPM

Jika kamu baru pertama belajar Reactjs atau belum mengenal Nodejs sebaiknya cukup siapkan Web Browser dan Teks Editor Saja.

Belum punya teks editor?

Tenang.. Kamu bisa manfaatkan online playground seperti Codesandbox, CodePen, dan Glitch.

Selain itu, pastikan kamu juga sudah paham tentang fitur-fitur ES6, seperti class, arrow function dan viarbel (let, const, var). Karena kita akan banyak menggunakannya di React.

Nah, kalau sudah siap semua..

Mari kita mulai belajar!

Latihan: Hello World di React

Baiklah, mari kita coba membuat aplikasi pertama dengan Reactjs…

Silakan buat folder baru bernama belajar-react, kemudian di dalamnya buat file baru bernama hello-react.html.

Isi file hello-react.html dengan kode berikut:

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8" />
    <title>Belajar Reactjs</title>
    <script src="https://unpkg.com/react@16/umd/react.production.min.js"></script>
    <script src="https://unpkg.com/react-dom@16/umd/react-dom.production.min.js"></script>
    <script src="https://unpkg.com/[email protected]/babel.min.js"></script>
</head>

<body>

    <div id="app"></div>

    <script type="text/babel">
      class Hello extends React.Component {
        render() {
          return <h1>Hello World Reactjs!</h1>
        }
      }

      ReactDOM.render(<Hello/>, document.getElementById("app"));
    </script>

</body>
</html>

Setelah itu, buka file hello-react.html dengan web browser.

Maka hasilnya:

Hello World di Reactjs

Selamat!

Kamu sudah berhasil membuat aplikasi react pertama…

Baik, sekarang saya akan jelaskan arti kode di atas.

Pertama-tama kita membutuhkan library react di HTML. Kita bisa menyisipkannya dengan cara seperti ini:

<script src="https://unpkg.com/react@16/umd/react.production.min.js"></script>
<script src="https://unpkg.com/react-dom@16/umd/react-dom.production.min.js"></script>
<script src="https://unpkg.com/[email protected]/babel.min.js"></script>

Library ini langsung kita ambil dari internet. Jika kamu tidak punya koneksi internet, maka aplikasi ini tidak akan bisa dijalankan.

Mengapa ada tiga library yang digunakan?

Karena ketiga-tiganya dibutuhkan, kalau salah satu tidak ada…

…maka aplikasi tidak akan bisa bekerja.

Pertama kita membutuhkan library react react.js untuk membuat komponen.

Kedua kita membutuhkan react-dom.js untuk me-render komponen ke dalam HTML.

Terakhir kita membutuhkan babel.js kode Javascript versi ES6 dapat dikenali pada web browser.

Tidak semua web broser mendukung ES6, karena itu kita membutuhkan babel.js agar aplikasi dapat berjalan di semua web browser.

Lanjut…

Konsep Dasar Reactjs

Pada dasarnya Reacjs hanya melakukan render komponen saat ada data yang berubah. Seperti namanya “React” ia akan breaksi saat ada perubahan data (reaktif).

Lalu komponen itu apa?

Komponen adalah bagian-bagian dari UI, contohnya seperti tombol, label, input, dll. Komponen juga bisa dibentuk dari komponen yang lain.

Secara sederhana…

Langkah-langkah yang harus dilakukan untuk membuat aplikasi react adalah sebagai berikut:

  1. Menambahkan library react ke HTML;
  2. Membuat elemen HTML untuk wadah aplikasi;
  3. Membuat komponen;
  4. Me-render komponen ke HTML;

Setiap aplikasi react membutuhkan sebuah wadah.

Coba perhatikan kembali contoh di atas.

Kita membuat sebuah elemen div dengan id="app".

<div id="app"></div>

Setiap komponen yang kita buat di React akan di-render atau ditampilkan ke dalam div tersebut.

Konsep dasar Reactjs

Apakah harus dibuat dengan id="app"?

Tidak harus, karena nanti kita akan tentukan elemennya dengan method getElementById().

Berikutnya kita membuat kode aplikasinya dengan tipe text/babel:

<script type="text/babel">
    class Hello extends React.Component {
        render() {
          return <h1>Hello World Reactjs!</h1>
        }
    }

    ReactDOM.render(<Hello/>, document.getElementById("app"));
</script>

Pada kode tersebut, kita membuat komponen bernama Hello dari class React.Component.

Lalu me-rendernya ke dalam div.

Aplikasi Reactjs pertama

Mungkin kamu akan melihat sesuatu yang aneh di sini.

Kok bisa menulis HTML di dalam Javascript tanpa tanda petik?

Biasanya kan kita menulis seperti ini:

var elemenHTML = "<h1>Hello World!</h1>";

Tapi kok di React bisa begitu?

Ini adalah JSX…

JSX itu apa?

Mari kita kenalan dulu.

Mengenal JSX

JSX (Javascript XML) adalah extension dari JavaScript. JSX membuat kita bisa menggunakan HTML di dalam Javascript.

JSX sama seperti XML dan HTML, ia juga memiliki nama tag, atribut, dan elemen anak.

Sebenarnya kita bisa saja menggunakan React tanpa JSX. Tapi tidak direkomendasikan, karena lebih susah dibaca dan ditulis.

Contoh:

// membuat komponen React tanpa JSX
class Btn extends React.Component {
    render() {
        let element = React.createElement('h1', {}, 'I do not use JSX!');
        return element;
    }
}

// membuat komponen dengan JSX
class Btn2 extends React.Component {
    render() {
        let element = <h1>I Love JSX!</h1>;
        return element;
    }
}

// render komponen ke HTML
ReactDOM.render(<Btn/>, document.getElementById("app"));

Tanpa JSX, kita harus membuat elemen dengan method createElemen(). Bandingkan dengan yang menggunakan JSX, kita hanya perlu menulis sintaks XML atau HTML-nya saja.

Mana yang lebih gampang?

Tentu saja JSX, karena kita gak perlu repot-repot menghafal method-method React untuk membuat komponen.

Latihan: Menggunakan JSX

Baiklah, agar semakin paham… mari kita coba latihan.

Buatlah file baru bernama latihan-jsx.html, kemudian isi dengan kode berikut.

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8" />
    <title>Belajar Reactjs</title>
    <script src="https://unpkg.com/react@16/umd/react.production.min.js"></script>
    <script src="https://unpkg.com/react-dom@16/umd/react-dom.production.min.js"></script>
    <script src="https://unpkg.com/[email protected]/babel.min.js"></script>
</head>

<body>

    <div id="app"></div>

    <script type="text/babel">
      // membuat elemen JSX
      let message = <h2>Belajar menggunakan JSX pada React</h2>;

      // render elemen ke DOM
      ReactDOM.render(message, document.getElementById("app"));
    </script>

</body>

</html>

Hasilnya:

Menggunakan atribut dan anak pada JSX

Pada contoh ini, kita membuat elemen HTML dengan JSX, kemudian langsung me-rendernya tanpa harus membuat class komponen.

Latihan berikutnya, cobalah untuk membuat JSX yang memiliki anak dan atribut.

Buatlah file baru bernama latihan-jsx2.html, kemudian isi dengan kode berikut:

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8" />
    <title>Belajar Reactjs</title>
    <script src="https://unpkg.com/react@16/umd/react.production.min.js"></script>
    <script src="https://unpkg.com/react-dom@16/umd/react-dom.production.min.js"></script>
    <script src="https://unpkg.com/[email protected]/babel.min.js"></script>
</head>

<style>
    .header {
        background-color: blueviolet;
        color: white;
        padding: 10px;
        font-family: Lato, sans-serif;
    }
</style>

<body>

    <div id="app"></div>

    <script type="text/babel">
      let header = (
        <header className="header">
            <h1>Belajar menggunakan JSX pada React</h1>
            <p>Tutorial Reactjs untuk Pemula</p>
        </header>
      );

      ReactDOM.render(header, document.getElementById("app"));
    </script>

</body>

</html>

Hasilnya:

Menggunakan atribut dan anak pada JSX

Coba perhatikan kodenya!

Saat kita membuat elemen JSX yang memiliki anak, kita harus mengapitnya dengan tanda kurung.

let header = (
  <header className="header">
      <h1>Belajar menggunakan JSX pada React</h1>
      <p>Tutorial Reactjs untuk Pemula</p>
  </header>
);

Apa Selanjutnya?

Selamat!

Langkah awalmu belajar Reactjs sudah dimulai.

Kamu sudah belajar dasar Reactjs, berikutnya silakan pelajari cara membuat project di Reactjs.

Setelah itu lanjutkan ke:

📖 Buat kamu yang ingin serius belajar React, bisa mengikuti Video Tutorial ini.