🌐
Miniclass Web
  • Miniclass Web
  • 1. Pengenalan Pemrograman Web
    • Cara Kerja Website
    • Pengenalan Backend dan Frontend
    • HTTP Request dan HTTP Response
  • 2. HTML
    • Pengenalan HTML
    • Text Formatting
    • Link
    • Media
    • List
    • Table
    • Form
    • Grouping
  • 3. CSS
    • Pengenalan CSS
    • Selector CSS
    • Text Formatting
    • Background
    • Border
    • Height dan Width
    • Spacing
    • Layouting
    • Responsive Design
    • Membuat Template Web Responsive
  • 4. Javascript
    • Pengenalan JavaScript
    • Javascript for Java developer
    • Array
    • Fungsi
    • Manipulasi DOM
    • Event
    • Fetch API
    • Object JavaScript
    • UI Component Lanjutan
  • 5. Node.js
    • Pengenalan Node.js
    • Membuat Server HTTP
    • Routing
    • Import Export
    • Node Package Manager
    • Nodemon
  • 6. Express.js
    • Pengenalan Express.js
    • HTTP Method
    • Menerima Data dari URL
    • Middleware
    • Menerima Data dari Body
    • Mengunggah File
    • Menampilkan File dalam Folder
    • Menyimpan Data ke Database MySQL
  • 7. Modern Frontend Development
    • ECMAScript
    • Transpiler
    • Module Bundler
  • 8. React Fundamental
    • Pengenalan React JS
    • Props
    • Event
    • State
    • Conditional Rendering
    • Component Mapping
    • Side Effect
    • Custom Hook
  • 9. React State Management
    • Lifting State Up
    • Context
    • Reducer
  • 10. React Performance
    • Debounce
    • Throttling
    • Memoization
    • Profiling
  • 11. React Testing
    • Component Testing
    • Hook Testing
    • Mocking
    • End to End Testing
  • 12. Object Relational Mapping
    • Pengenalan Object Relational Mapping
  • 13. Document Oriented Database
    • Document Oriented Database
    • Object Document Mapping
  • 14. Web Service
    • REST
    • GraphQL
  • 15. Autentikasi
    • JSON Web Token
    • Membuat Web Service Sederhana
  • 16. Microservices
    • Microservices
    • Microservices Gateway
    • Message Queue
    • Remote Procedure Call
    • Membuat Micro Service Sederhana
  • 18. Caching
Powered by GitBook
On this page
  • 1. Apa itu React JS
  • 2. React Bukan Framework
  • 3. Virtual DOM
  • 4. Component Based Architecture

Was this helpful?

  1. 8. React Fundamental

Pengenalan React JS

PreviousModule BundlerNextProps

Last updated 4 years ago

Was this helpful?

1. Apa itu React JS

Seperti yang sudah dijelaskan pada website resmi react, react merupakan library javascript untuk membangun sebuah user interface

A Javascript library for building user interfaces

React dibuat oleh facebook dan menjadi salah satu tool frontend populer karena penggunaan JSX dan konsep component based architecture nya

Selengkapnya tentang react :

2. React Bukan Framework

Banyak yang membandingkan react dengan angular, vue atau framework lain, sedangkan react sendiri bukanlah framework melainkan hanyalah sebuah library

Apa perbedaan framework dan library ?

Framework dibuat untuk menyelesaikan banyak masalah, misalnya kita ambil contoh framework angular, dalam angular terdapat banyak fitur yang dapat menyelesaikan banyak permasalahan seperti :

  • rendering UI

  • state manager

  • routing

  • Ajax calling

  • dan masih banyak lagi...

framework juga mempengaruhi kita dalam membuat struktur aplikasi, artinya kita tidak bisa seenaknya membuat struktur aplikasi, kita harus mengikuti aturan yang sudah disediakan oleh framework yang kita gunakan.

Sedangkan library hanya fokus untuk memecahkan sebuah masalah, misalnya react hanya fokus terhadap pembangunan sebuah user interface, sehingga apabila kita ingin membangun fitur routing misalnya, kita bisa menggabungkan react dengan library lain (misalnya react-router)

3. Virtual DOM

React menggunakan virtual DOM untuk mempercepat proses perubahan node pada DOM

Virtual DOM merupakan DOM yang disalin kedalam bentuk JSON.

Cara kerja dari Virtual DOM adalah sebagai berikut :

  1. Virtual DOM menyalin semua node yang ada pada DOM kedalam bentuk JSON

  2. React mengubah state aplikasi

  3. Virtual DOM baru dibuat oleh react berdasarkan Virtual DOM lama, namun dengan mengikuti perubahan state (Virtual DOM lama tetap ada)

  4. Virtual DOM lama dan Virtual DOM baru dibandingkan untuk mengetahui letak node yang berubah

  5. Setelah mengetahui node mana yang berubah, maka Virtual DOM baru menyalin node yang berubah ke DOM

Untuk lebih memahami cara kerja Virtual DOM, silahkan simak video berikut :

4. Component Based Architecture

React menggunakan konsep component based architecture yang membuat dia menjadi populer seperti sekarang, namun apa itu component based architecture ?

Component based architecture merupakan teknik pembuatan UI yang memecah sebuah halaman besar menjadi beberapa component - component kecil yang memiliki logic sendiri - sendiri, sehingga apabila ada satu component yang error maka kita tidak perlu membuka sebuah halaman besar melainkan hanya perlu fokus kepada satu component kecil itu saja.

Kebalikan dari component based architecture adalah template based architecture, arsitektur ini biasa digunakan sebelum component based populer, dimana kita akan memiliki sebuah halaman dengan logic yang ditumpuk pada satu halaman tersebut, kelemahannya yaitu apabila ada sebagian fitur yang error, maka kita perlu membuka keseluruhan halaman untuk menangani error tersebut.

Selengkapnya tentang component based architecture :

Official Website -

Selengkapnya tentang perbedaan framework dan library :

Penjelasan component based architecture -

Kelebihan component based architecture -

https://reactjs.org/
https://medium.com/datafire-io/libraries-vs-frameworks-626cdde799a7
https://www.youtube.com/watch?v=RquK3TImY9U
https://medium.com/@dan.shapiro1210/understanding-component-based-architecture-3ff48ec0c238
https://www.tandemseven.com/technology/6-reasons-component-based-ui-development/
reactjs
library-framework
virtual dom
component based