Semua yang Anda lihat di situs web, seperti tombol, tautan, animasi, dan lainnya, dibuat oleh frontend developer. Tugas front end developer itu sendiri untuk mengambil visi dan konsep desain ( tampilan ) dari klien dan mengimplementasikannya melalui kode.
Source : www.freecodecamp.org
front-end developer, juga dikenal sebagai pengembangan pada sisi klien untuk website adalah praktik membuat kode HTML, CSS, dan JavaScript untuk situs website sehingga user dapat melihat dan berinteraksi secara langsung. Ada sebuah tantangan bagi seorang frontend developer, yaitu tools dan teknik yang dipelajari dan digunakan untuk membuat bagian depan dari sebuah situs web akan berubah terus-menerus. Maka dari itu, frontend developer harus menyadari bagaimana hal tersebut dapat berkembang.
Source : https://frontendmasters.com/
ReactJS atau React adalah Javascript library yang digunakan untuk membangun user interface (antar muka), jadi react itu adalah sebuah library bukan sebuah framework. Kalian bisa membaca tentang React adalah library https://reactjs.org/. Reactjs sendiri di kembangkan oleh facebook ( public realease 29 May 2013 ). React dibuat oleh Jordan Walke, seorang software engineer di Facebook, yang merilis prototipe awal React yang disebut “FaxJS “. React ini juga dapat digunakan sebagai basis dalam pengembangan Web App atau mobile. Namun, React hanya berkaitan dengan manajemen status dan rendering status itu ke DOM, jadi membuat aplikasi React biasanya memerlukan penggunaan library tambahan untuk perutean, serta fungsionalitas sisi klien tertentu.
Pertama masuk ke terminal lalu pindah ke folder yang diinginkan untuk installasi project reactjs, lalu jalankan perintah seperti di bawah ini
Note : untuk text “my-app” dapat di ganti sesuai dengan nama project yang kita inginkan
tunggulah hingga proses installasi selesai, biasanya akan memakan waktu lebih dari 5 menit tergantung dengan jaringan dan device komputernya
Pada terminal pindahkan posisi directorynya menuju folder my-app dulu (jika nama appnyna berbeda bisa di sesuaikan ).
lalu ketikkan perintah dan tunggu sampai react nya succes untuk compile :
setelah itu otomatis browser default anda menambahkan tab baru dengan url localhost:3000(default port untuk localhostnya adalah 3000) yang menampilkan tampil react app seperti di bawah ini
berikut ini yang ada dalam project react :
kita dapat mencoba mengedit file app.js di dalam folder src, mari kita ubah sedikit app js tersebut
disini kita coba hapus semua tag header ( dari tag pembuka <header>
ke penutupnya </header>
) lalu masukkan kode baru seperti di bawah ini:
JSX
JSX merupakan ekstensi javascript yang membuat kita dapat menuliskan tag HTML di dalam javascript.
Virtual DOM
Virtual DOM adalah representasi DOM secara virtual. Lalu Kenapa React menggunakan virtual DOM? Berikut ini penjelasannya :
Yang pertama, JavaScript itu sebenarnya berjalan dengan cepat, yang menyebabkan JavaScript terasa lambat adalah ketika JavaScript mengolah DOM. Apa itu dom ? DOM adalah representasi dari UI pada aplikasi kita. Secara singkat bentuk DOM sendiri adalah struktur data tree, karena itu jika adanya perubahan atau update ke dom akan cepat. Namun, setelah adanya perubahan pada dom, element yang dirubah dari mulai parent hingga child nya akan dirender ulang untuk mengupdate UI di aplikasi kita. Proses re-rendering atau re-painting UI ini lah yang membuat lambat, Berikut ini ilustrasi dari DOM :
State
State adalah asal dari suatu data. Komponen pada react tentunya membutuhkan data (tidak semua namun rata-rata membutuhkan data). Data tersebut dapat berasal dari mana saja. State adalah salah satu sumber data tersebut. Selain state data dari komponen juga dapat berasal dari props (bukan property).
Lifecycle Component
Terdapat tiga Lifecycle dalam sebuah komponen dalam react yaitu :
Membuat Component, huruf awalnya wajib kapital ya!
Diatas Tersebut bentuk dari umumnya Function Javascript.
Pada Javascript ES 6 maka kita mengenal arrow Function seperti dibawah ini
Kita juga bisa menggunakan ES6 class untuk mebangun sebuah component. berikut ini contoh component dengan menggunakan class React.Component:
Props, merupakan properti-properti dari component yang dapat kita gunakan untuk menampilkan data, biasanya digunakan untuk inisialisasi data dengan kata lain bahwa props adalah “model” data yang memiliki fungsi ganda yaitu selain untuk menyimpan data, Props juga berfungsi untuk “melempar data” antar components view jika ada perubahan data di state. Berikut ini Contoh dari penggunaan Props :
Tambahkan Code dibawah ini ke dalam file app.js
edit file app.js seperti dibawah ini
Hooks merupakan fitur baru di React 16.8 atau versi lebih baru dari itu. Dengan Hooks, kita dapat menggunakan state dan fitur React yang lain tanpa perlu menulis sebuah “class” baru. Hooks merupakan fungsi yang memungkinkan Anda untuk “mengaitkan” state dan fitur-fitur lifecycle React dari function component. Hooks tidak dapat berfungsi didalam “class” dan Hooks memungkinkan menggunakan React tanpa “class” serta memiliki syntax yang lebih simple tanpa harus memikirkan lagi penggunaan ( this ) maupun ( bind )
berikut ini merupakan beberapa method yang tersedia pada Functional Component ( React Hooks ) :
kita coba pada saat connect ke api
dan dibawah ini tenary operator
Halo, Kita akan belajar agar membuat React yang kita punya menjadi Single page Application. Apa itu single page appilcation ? Pada intinya SPA memungkinkan kita melakukan perpindahan page di sisi client (browser) tanpa mendownload ulang asset-asset dari server seperti file-file javascript dan css. Nah, disini sebagai navigasi yang dilakukan react untuk melakukan perpindahan page terutama di sisi client disebut Router. Di react router yang akan kita gunakan adalah dari library React-Router-DOM.
npm install react-router-dom@6
Pada file app.js ubah code pada return nya menjadi seperti dibawah ini
Jangan Lupa di Import BrowserRouter , Routes, Route dan Home
import { BrowserRouter, Route, Routes } from 'react-router-dom';
Selanjutnya Kita Mulai untuk Membuat CRUD nya di masing masing.
Instalasi Axios