React JS adalah sebuah framework JavaScript yang dibuat untuk membangun aplikasi front-end berbasis web. Dalam tutorial kalian bisa mempelajari semua hal dasar yang perlu diketahui untuk membangun aplikasi front-end web menggunakan React JS.
Sebelum masuk ke komponen dan koding, ada beberapa link referensi yang berisi informasi perihal apa itu React JS dan mengapa belajar **React JS ** dapat bermanfaat untuk kalian:

Sebelum masuk ke React JS, kita harus lebih dulu memahami bahasa pemrograman JS atau JavaScript. Bahasa pemrograman JavaScript dapat dipelajari dengan cepat karena bersifat sederhana dan fleksibel. Kalian dapat mempelajari dasar dasar pemrograman JavaScript disini: # A re-introduction to JavaScript (JS tutorial)
Apabila sudah memahami JavaScript, sekarang waktunya kita masuk ke Fundamental React JS
- Install npm and Node JS: https://www.npmjs.com/get-npm
- Run
npx create-react-appatau clone starter dari sini:- react-basic: Setup React sederhana yang mencakup routing, autentikasi dasar dan fetching data.
- Apabila melakukan clone, run
npm installuntuk melakukan install node modules atau kumpulan dari library yang terdaftar di package.json - Untuk run debug bisa gunakan
npm start
Referensi: Learn React In 30 Minutes
JSX adalah bahasa yang digunakan untuk menulis view komponen dari React JS, syntax JSX sendiri tidak jauh berbeda dengan HTML. Contoh dari penulisan JSX dapat dilihat di App.js.
Referensi:
Pengunaan function dan class dalam penulisan koding memiliki perbedaan syntax dan fungsional yang mempengaruhi pengolahan data dalam React
Referensi: https://medium.com/@Zwenza/functional-vs-class-components-in-react-231e3fbd7108
Props & State adalah komponen yang dapat digunakan untuk menyimpan dan mengolah data dalam React JS
Dengan menggunakan data dari props atau state, developer dapat melakukan conditional rendering yaitu dengan melakukan rendering komponen JSX menyesuaikan dengan kondisi dari data baik menggunakan state atau props
Referensi: https://linguinecode.com/post/4-techniques-conditional-render-react-props-state
Component Life Cycle adalah siklus dari komponen yang digunakan untuk me-render tampilan dari web. Siklus ini memang terlihat agak rumit, beruntung nya sekarang sudah ada hooks yang salah satu kegunaannya adalah untuk menyederhanakan life cycle dari React JS.
https://medium.com/codeacademia/apa-itu-component-lifecycle-di-react-bfcb64f64e0e
Dengan List & Keys developer dapat menampilkan tampilan berulang secara mudah menggunakan fungsi .map
Referensi: https://reactjs.org/docs/lists-and-keys.html
Ini adalah salah satu komponen yang membuat React JS populer. Komposisi memungkinkan developer untuk membungkus komponen dalam komponen yang membuat tampilan web mudah untuk dirancang dan membuat kode menjadi lebih rapi.
Referensi: https://reactjs.org/docs/composition-vs-inheritance.html
React Hooks mempermudah developer dalam melakukan manajemen Life Cycle dari komponen react dan juga mengolah data. Sebelum hooks syntax syntax bawaan dari React seperti this.setState dan this.state serta fungsi Life Cycle dari React seperti componentWillMount dan componentDidMount masih sering digunakan. Namun dengan adanya Hooks, semua itu dapat di handle oleh beberapa fungsi dasar seperti useState dan useEffect.
Fungsi useEffect dipanggil saat layar pertama kali di mount, fungsi ini juga dapat melakukan listen pada perubahan suatu state atau data pada layar. Fungsi useState dapat digunakan untuk mengolah data pada screen dengan mudah, anggap variabel yang menggunakan useState sebagai variabel yang hanya dimiliki layar tersebut dan developer dapat menggunakan data dalam state untuk melakukan berbagai hal seperti conditional rendering, looping view, dll.
Referensi:
Berikut adalah beberapa library yang sangat berguna dan sering digunakan oleh developer untuk mengembangkan aplikasi React JS
Digunakan untuk routing pada applikasi
Digunakan untuk fetch API calls
https://www.digitalocean.com/community/tutorials/react-axios-react
Digunakan untuk mempermudah membuat form
Styling React menggunakan komponen komponen dari bootstrap
https://react-bootstrap.github.io/getting-started/introduction/