ReactJS - Integrasi dengan Library Lain

Hai teman-teman pengembang React masa depan! Saya sangat senang untuk memandu Anda melalui dunia menarik pengintegrasian React dengan library lain. Sebagai seseorang yang telah mengajar ilmu komputer selama tahun tahun, saya bisa katakan bahwa keterampilan ini seperti menjadi seorang chef ahli - tahu bagaimana mencampurkan berbagai bahan (atau dalam kasus kita, library) untuk menciptakan sesuatu yang menakjubkan!

ReactJS - Integrating With Other Libraries

Mengapa Mengintegrasikan React dengan Library Lain?

Sebelum kita masuk ke detil, mari bicarakan mengapa kita ingin mencampur React dengan library lain. Bayangkan Anda sedang membangun sebuah rumah panginapan. React adalah dasar dan tembok yang kuat Anda, tapi kadang-kadang Anda butuh alat khusus untuk jendela atau sebuah slide yang mewah. Itu di mana library lain memasuki permainan - mereka menambahkan fungsi ekstra yang React tidak menyediakan secara default.

Integrasi Berdasarkan CreateRoot

Ayo mulai dengan metode CreateRoot, yang seperti membuat pintu utama ke rumah panginapan kita.

Apa Itu CreateRoot?

CreateRoot adalah cara modern untuk merender komponen React. Itu seperti menanam benih untuk pohon React kita tumbuh.

Ini adalah contoh sederhana:

import { createRoot } from 'react-dom/client';
import App from './App';

const container = document.getElementById('root');
const root = createRoot(container);
root.render(<App />);

Dalam kode ini:

  1. Kita import createRoot dari React DOM.
  2. Kita mencari sebuah wadah di HTML kita ( biasanya sebuah div dengan id 'root').
  3. Kita membuat root menggunakan wadah ini.
  4. Kita merender komponen App utama kita di root ini.

Integrasi Library Grafik

Sekarang, katakanlah kita ingin menambahkan sebuah grafik menarik ke aplikasi React kita. Kita akan menggunakan library yang disebut Chart.js sebagai contoh.

Pertama, install Chart.js:

npm install chart.js

Sekarang, buatlah sebuah komponen yang menggunakan Chart.js:

import React, { useEffect, useRef } from 'react';
import Chart from 'chart.js/auto';

function ChartComponent() {
const chartRef = useRef(null);

useEffect(() => {
if (chartRef.current) {
new Chart(chartRef.current, {
type: 'bar',
data: {
labels: ['Merah', 'Biru', 'Kuning', 'Hijau', 'Ungu', 'Oranye'],
datasets: [{
label: '# of Votes',
data: [12, 19, 3, 5, 2, 3],
backgroundColor: [
'rgba(255, 99, 132, 0.2)',
'rgba(54, 162, 235, 0.2)',
'rgba(255, 206, 86, 0.2)',
'rgba(75, 192, 192, 0.2)',
'rgba(153, 102, 255, 0.2)',
'rgba(255, 159, 64, 0.2)'
],
borderColor: [
'rgba(255, 99, 132, 1)',
'rgba(54, 162, 235, 1)',
'rgba(255, 206, 86, 1)',
'rgba(75, 192, 192, 1)',
'rgba(153, 102, 255, 1)',
'rgba(255, 159, 64, 1)'
],
borderWidth: 1
}]
},
options: {
scales: {
y: {
beginAtZero: true
}
}
}
});
}
}, []);

return <canvas ref={chartRef} />;
}

export default ChartComponent;

Kode ini:

  1. Membuat sebuah komponen fungsional.
  2. Menggunakan useRef untuk membuat referensi ke elemen canvas kita.
  3. Menggunakan useEffect untuk membuat sebuah Chart ketika komponen dimuat.
  4. Mengembalikan elemen canvas yang Chart.js akan render ke dalamnya.

Sekarang Anda bisa menggunakan komponen ini di aplikasi utama Anda:

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

function App() {
return (
<div>
<h1>Grafik Menakjubkan Saya</h1>
<ChartComponent />
</div>
);
}

export default App;

Integrasi Berdasarkan Ref

Sekarang, mari bicarakan tentang integrasi berdasarkan Ref. Refs di React adalah seperti name tag untuk elemen kita - mereka membantu kita menemukan dan berinteraksi dengan bagian khusus UI kita.

Apa Itu Refs?

Refs menyediakan cara untuk mengakses node DOM atau elemen React yang dibuat dalam metode render. Mereka seperti sebuah jalur langsung ke bagian tertentu komponen Anda.

Ini adalah contoh sederhana:

import React, { useRef, useEffect } from 'react';

function TextInput() {
const inputRef = useRef(null);

useEffect(() => {
inputRef.current.focus();
}, []);

return <input ref={inputRef} type="text" />;
}

Dalam kode ini:

  1. Kita membuat sebuah ref menggunakan useRef.
  2. Kita melampirkan ref ini ke elemen input kita.
  3. Dalam useEffect, kita menggunakan ref untuk fokuskan input ketika komponen dimuat.

Integrasi Library Pemilih Tanggal

Ayo integrasi library pemilih tanggal yang disebut Flatpickr menggunakan refs:

Pertama, install Flatpickr:

npm install flatpickr

Sekarang, buatlah sebuah komponen yang menggunakan Flatpickr:

import React, { useRef, useEffect } from 'react';
import flatpickr from 'flatpickr';
import 'flatpickr/dist/flatpickr.css';

function DatePicker() {
const datePickerRef = useRef(null);

useEffect(() => {
flatpickr(datePickerRef.current, {
dateFormat: 'Y-m-d',
onChange: function(selectedDates, dateStr, instance) {
console.log(dateStr);
}
});
}, []);

return <input ref={datePickerRef} type="text" placeholder="Pilih Tanggal..." />;
}

export default DatePicker;

Kode ini:

  1. Membuat sebuah ref untuk elemen input kita.
  2. Menggunakan useEffect untuk menginisialisasi Flatpickr pada input kita saat komponen dimuat.
  3. Menyiapkan Flatpickr dengan beberapa opsi, termasuk callback saat tanggal dipilih.

Anda sekarang bisa menggunakan komponen DatePicker ini di aplikasi Anda:

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

function App() {
return (
<div>
<h1>Pilih Tanggal</h1>
<DatePicker />
</div>
);
}

export default App;

Integrasi Plugin jQuery

Akhirnya, mari bicarakan tentang integrasi plugin jQuery, khususnya plugin carousel Slick.

Menyiapkan Slick

Pertama, kita perlu menginstall jQuery dan Slick:

npm install jquery slick-carousel

Sekarang, buatlah sebuah komponen Slider:

import React, { useRef, useEffect } from 'react';
import $ from 'jquery';
import 'slick-carousel';
import 'slick-carousel/slick/slick.css';
import 'slick-carousel/slick/slick-theme.css';

function Slider() {
const sliderRef = useRef(null);

useEffect(() => {
$(sliderRef.current).slick({
dots: true,
infinite: true,
speed: 500,
slidesToShow: 1,
slidesToScroll: 1
});
}, []);

return (
<div ref={sliderRef}>
<div><h3>1</h3></div>
<div><h3>2</h3></div>
<div><h3>3</h3></div>
<div><h3>4</h3></div>
<div><h3>5</h3></div>
</div>
);
}

export default Slider;

Kode ini:

  1. Mengimpor jQuery dan plugin Slick carousel.
  2. Membuat sebuah ref untuk kontainer slider kita.
  3. Menggunakan useEffect untuk menginisialisasi Slick carousel saat komponen dimuat.
  4. Mengembalikan sebuah div dengan beberapa konten slide.

Anda sekarang bisa menggunakan komponen Slider ini di aplikasi Anda:

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

function App() {
return (
<div>
<h1>Slider Menakjubkan Saya</h1>
<Slider />
</div>
);
}

export default App;

Kesimpulan

Dan begitu saja, teman-teman! Kita telah melintasi negeri pengintegrasian React, dari membuat akar hingga refs hingga bahkan membawa kesenian jQuery. Ingat, mengintegrasikan library adalah tentang mengembangkan kemampuan React, seperti menambahkan superpower ke kemampuan React Anda yang sudah menakjubkan.

Berikut adalah ringkasan metode yang kita pelajari:

Metode kasus Penggunaan Contoh
CreateRoot Menyiapkan aplikasi React utama Integrasi Chart.js
Ref-based Mengakses elemen DOM tertentu Pemilih tanggal Flatpickr
jQuery Plugin Menggunakan library berbasis jQuery Carousel Slick

Tetap latih, tetap jelajah, dan yang paling penting, tetap bersenang-senang saat menggunakan React! Siapa tahu apa saja aplikasi menakjubkan Anda akan bangun berikutnya? Selamat coding!

Credits: Image by storyset