Tutorial React js

Apa itu React?

React.js membangun antarmuka pengguna untuk aplikasi web satu halaman dengan membagi UI menjadi elemen yang dapat dikomposisi. React.Js adalah perpustakaan UI, yang awalnya dikembangkan sebagai perpustakaan internal untuk Facebook, dan kemudian menjadi sumber terbuka pada tahun 2013. Ini terkenal dan banyak digunakan karena banyak alasan

Mengapa Menggunakan React.js?

  • Mudah Dipelajari : Karena memerlukan pemahaman minimal tentang JavaScript dan HTML, kurva pembelajarannya cukup rendah. Dalam beberapa kasus, kami bahkan akan menggunakan 'vanilla DOM JavaScript API' (Anda akan melihat apa yang saya maksud nanti), yang berarti bahwa programmer tidak perlu mempelajari sesuatu yang baru sebelum memulai.
  • Komponen yang Dapat Digunakan Kembali : Jika Anda telah mengembangkan situs web sederhana dalam HTML, mungkin ada saatnya Anda ingin mengelompokkan sekelompok elemen HTML dan kemudian menyimpannya ke dalam semacam 'variabel' sehingga dapat digunakan kembali nanti . Untuk pengembang, ini adalah penyelamat. React memiliki kemampuan untuk mengimplementasikan fasilitas seperti itu.


Memulai: Menginstal React

Pertama, pergi ke terminal dan kemudian ketik,

npx create-react-app-app-name

Instruksi ini membuat template aplikasi React dengan nama app-name.

Catatan: npxbukan salah ketik. Ini adalah perintah runner paket yang disertakan di dalam npm.

Sekarang, Anda perlu menavigasi ke direktori aplikasi ini dan kemudian melihatnya di browser Anda seperti:

cd nama aplikasi 
npm start

Jika operasi di atas berhasil, browser Anda akan membuka URL localhost:3000Ini adalah output di browser

Keluaran di browser

Sekarang mari kita buat Hello World yang sederhana! aplikasi dengan proyek ini.

Hello World! — Dengan React

Di dalam direktori proyek Anda, buka src/index.jsdan ganti konten file index.jssebagai berikut:

Kode untuk ditulis di index.js
  • Lines 1 and 2: Mengimpor reactdan react-domperpustakaan. Modul reactini digunakan untuk menulis kode HTML dalam JavaScript (juga dikenal sebagai JSX) dan react-appdigunakan untuk menjalankan renderfungsi yang akan menampilkan konten ke halaman.
  • Line 5: Render h1elemen dalam wadah yang memiliki idroot. Penjelasan tentang metode ini dilakukan di bagian selanjutnya.

Output dari kode tersebut adalah sebagai berikut:

Keluaran dari kode

Catatan: Anda mungkin bertanya-tanya bahwa tag HTML dalam JavaScript adalah sintaks yang salah. Anda benar sekali, tetapi React Library menggunakan bahasanya sendiri yang mirip dengan JavaScript tetapi dapat menggunakan JSX dalam bahasa tersebut.

Metode render

Cara root.rendertersebut dapat dijelaskan sebagai berikut:

Sintaksis

Seperti yang disarankan sintaks,

  • Objek containermenentukan di mana Anda ingin menampilkan elemen. Dalam konvensi normal, ini adalah divelemen dengan id dari rootKami menggunakan JavaScript DOM API untuk mengidentifikasi elemen tersebut.
  • Fungsi root.rendermenentukan elemen apa yang ingin Anda tampilkan elemennya. Dalam contoh di atas, kami merender h1elemen dengan teks Hello World.

Pertanyaan: Di mana saya dapat menemukan divelemen yang memiliki iddari 'root’?

Lihat kode file HTML, public/index.htmlPemberitahuan di line 31:

Baris 31 di index.html

Semua elemen yang kita tentukan dalam elementargumen akan ditampilkan di dalam elemen yang divmemiliki spesifikasi .idroot

Dengan demikian, kompiler memberi tahu browser bahwa: the elementakan ditampilkan di dalam container.

Tetapi ada beberapa hal yang harus Anda ketahui saat menggunakan metode ini:

Hal-hal yang perlu diketahui tentang root.render()

Metode tidak boleh berisi elemen dua induk dalam argumen pertama root.renderContoh di bawah ini salah dan akan memberi Anda kesalahan:

Salah kode

Sebagai gantinya, Anda dapat melakukan ini:

Kita dapat menentukan satu elemen induk tunggal untuk menampilkan 2 h1elemen anak pada halaman.

Kami bahkan dapat menampilkan daftar kecil yang tidak berurutan sebagai berikut:

Daftar yang dipesan di React

Namun, dalam kasus praktis, tidak mungkin menyisipkan 40+ baris HTML ke dalam rendermetode. Di sinilah Komponen Fungsional masuk ke tempatnya.

Functional Components

Mari kita ambil potongan kode HTML ini:

Bisakah kode ini dibuat modular?

Sebagai pengembang React, tidak layak untuk memasukkan begitu banyak elemen ke dalam rendermetode. Ini adalah praktik yang baik untuk menerapkan modularitas.

Anda dapat menempatkan elemen yang ingin Anda render dalam fungsi terpisah.

Ide Inti

function ComponentName() { 
return(

)
}
root.render( , document.getElementById('root'))

componentadalah elemen HTML yang ingin Anda render, seperti h1atau p.

Contoh Dasar

Sebagai contoh, mari kita tulis ulang fungsi Hello World! aplikasi.

Contoh Komponen Fungsional Dasar

Catatan: Selalu ingat untuk menggunakan returnelemen Anda, jika tidak, itu akan menimbulkan kesalahan

Untuk merendernya,

Merender komponen

Seperti yang Anda perhatikan, kami dapat menulis fungsi kami sebagai tag JSX.

Ingatlah bahwa Anda harus

  • gunakan tag yang menutup sendiri.
  • Fungsi Anda harus dimulai dengan huruf kapital.

Kode memberikan output berikut:

Keluaran kode

Di sini juga, kita tidak dapat memiliki banyak elemen induk. Seperti sebelumnya, kita akan menggunakan satu elemen induk dengan dua elemen anak.

Beberapa elemen dalam komponen fungsional

Latihan

Sebagai tugas kecil, saya ingin Anda membuat h1elemen dengan nama Anda di dalamnya, dan kemudian menulis daftar yang berisi 3 fakta tentang Anda. Lakukan aktivitas ini menggunakan komponen fungsional.

Solusi : Kita tidak dapat memiliki dua elemen parent. Mari kita gunakan a divdan kemudian menyisipkan h1elemen diikuti dengan list( ul) .

function MyApp() {
    return(
      <div>
     
      <h1> Hussain Arif h1>
      <ul> Age : 18 ul>
      <ul> Occupation : Student ul>
     
      div>
      )
    }

Dan kemudian akan dirender.

Output dari kode tersebut adalah sebagai berikut:

Keluaran dari kode

Dalam proyek kehidupan nyata, adalah praktik umum untuk menempatkan komponen fungsional Anda dalam file terpisah karena membuat program Anda lebih modular.

Pindahkan Functional Components Ke Modul Terpisah

Katakanlah komponen fungsional Anda terlalu kompleks. Sebagai pengembang, Anda ingin memindahkan komponen Anda ke file lain sehingga dapat digunakan di file utama Anda. Jadi, ini membuat program Anda modular. Selain itu, modularitas juga membuat kode Anda terlihat lebih rapi.

Ide Inti

Pertama, buat komponen fungsional dalam file terpisah. Kemudian, kami akan mengekspornya sebagai berikut:

ekspor ComponentName default

ComponentNameadalah nama komponen fungsional Anda.

Contoh Dasar

Mari kita tulis ulang latihan di atas.

Buat file baru, panggil MyApp.jsdan tulis kode Anda sebagai berikut:

Komponen Fungsional dalam file terpisah
  • Line 1: Impor reactmodul untuk menggunakan tag JSX dalam kode kami
  • Lines 2–12: Komponen fungsional kami
  • Line 13 : Ekspor MyAppfungsi kami sehingga dapat digunakan dalam index.jsfile kami.

Sekarang kita dapat menggunakannya di index.jsfile kita seperti:

  • Line 3: Kami akan menggunakan importkata kunci untuk menggunakan MyAppkomponen. Selalu ingat untuk menggunakan jalur relatif untuk menentukan modul Anda . Modul pihak pertama seperti reacttidak memerlukan jalur relatif.
  • Line 7: Render MyAppkomponen.

Output dari kode tersebut adalah sebagai berikut:

Keluaran dari kode

Parent/Child Components

Terkadang, bahkan ketika menulis tag HTML di dalam fungsi menjadi terlalu rumit. Anda tidak dapat menulis begitu banyak baris kode dalam suatu fungsi karena tampaknya tidak dapat dibaca.

Anda dapat membuat sarang komponen fungsional Anda sebanyak yang Anda inginkan

Ide Inti

Tentukan komponen fungsional dasar

function MyFirstComponent() { 
return(

)
}

Gunakan dalam komponen fungsional kedua

function MySecondComponent() { 
return (




)
}

Dan kemudian render itu

root.render();            

Contoh Dasar

Sebagai contoh, mari kita mendefinisikan elemen footer dalam file terpisah dan kemudian menggunakannya.

Dalam sebuah fileFooter.js

import React from "react"

function Footer() {
    return(
        <footer>
            <p>This is a footer element that will be nested within App.jsp>
        footer>
    )
}
export default Footer

Dan kemudian menggunakannya di App.js:

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

function App() {
  return (
    <div>
      <h1> Hussain Arif h1>
      <ul>
      <li>Age: 18li>
      <li> occupation: student li>
      ul>
      <h1> This was done through modular components h1>
      <Footer/>
    div>
  );
}

export default App;

Perhatikan bahwa Footerelemen kita digunakan dalamLine 13

Sekarang mari kita render Appelemen di dalamindex.js

root.render();

rekap

Aplikasi Hello World

impor React dari "react" 
impor ReactDOM dari "react-dom"
root.render(

Hello World

);

Komponen Fungsional

function MyComponent() { 
return(


)
}

Functional Components di File Lain

  • Tentukan komponen, MyComponent.jsdan ekspor
function MyComponent() { 
return(

)
}
ekspor default MyComponent
  • Gunakan di file lain index.js,
import React dari "react" 
import ReactDOM dari "react-dom"
import MyComponent dari "./MyComponent"

Nested Components / Komponen Bersarang

  • Tentukan komponen pertama, MyComponent.jsdan ekspor
function MyComponent() { 
return(

)
}
ekspor MyComponent default
  • Tentukan komponen kedua, App.jsdan ekspor
  • import React from 'react';
    import MyComponent from './MyComponent';

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

    export default App;

Dan kemudian gunakan diindex.js

import React dari "react" 
import ReactDOM dari "react-dom"
import App dari "./App";

Sumber Daya Eksternal:

Kesimpulan

Satu hal yang perlu diingat adalah bahwa sintaks dalam React jelas berbeda dari sintaks JavaScript normal. Satu hal yang berhasil bagi saya adalah bermain dengan kode untuk memahami topik dengan benar. Saran saya kepada Anda adalah melakukan hal yang sama — jangan menyerah!

Keep the Spirit of Learning
Have a Nice Day

Kategori

Programming

Post By

Ahmad Fauzi Ridwan, S.Kom

Architecto ut aperiam autem id

Qui laudantium consequatur laborum sit qui ad sapiente dila parde sonata raqer a videna mareta paulona marka

Et nobis maiores eius. Voluptatibus ut enim blanditiis atque harum sint. Laborum eos ipsum ipsa odit magni. Incidunt hic ut molestiae aut qui. Est repellat minima eveniet eius et quis magni nihil. Consequatur dolorem quaerat quos qui similique accusamus nostrum rem vero

Et blanditiis nemo veritatis excepturi

Qui laudantium consequatur laborum sit qui ad sapiente dila parde sonata raqer a videna mareta paulona marka

Ea ipsum voluptatem consequatur quis est. Illum error ullam omnis quia et reiciendis sunt sunt est. Non aliquid repellendus itaque accusamus eius et velit ipsa voluptates. Optio nesciunt eaque beatae accusamus lerode pakto madirna desera vafle de nideran pal

Impedit facilis occaecati odio neque aperiam sit

Eos voluptatibus quo. Odio similique illum id quidem non enim fuga. Qui natus non sunt dicta dolor et. In asperiores velit quaerat perferendis aut

Iure officiis odit rerum. Harum sequi eum illum corrupti culpa veritatis quisquam. Neque necessitatibus illo rerum eum ut. Commodi ipsam minima molestiae sed laboriosam a iste odio. Earum odit nesciunt fugiat sit ullam. Soluta et harum voluptatem optio quae

Fuga dolores inventore laboriosam ut est accusamus laboriosam dolore

Totam aperiam accusamus. Repellat consequuntur iure voluptas iure porro quis delectus

Eaque consequuntur consequuntur libero expedita in voluptas. Nostrum ipsam necessitatibus aliquam fugiat debitis quis velit. Eum ex maxime error in consequatur corporis atque. Eligendi asperiores sed qui veritatis aperiam quia a laborum inventore

Est eveniet ipsam sindera pad rone matrelat sando reda

Omnis blanditiis saepe eos autem qui sunt debitis porro quia.

Exercitationem nostrum omnis. Ut reiciendis repudiandae minus. Omnis recusandae ut non quam ut quod eius qui. Ipsum quia odit vero atque qui quibusdam amet. Occaecati sed est sint aut vitae molestiae voluptate vel