sebelumnya kita sudah tau nih caranya memulai untuk menggunakan react js , karena tutorial ini bersambung maka diharap teman2 sudah membaca materi sebelumnya. Oh ya apakah kawan2 sudah tau bahwa react js dapat memiliki state dan props di setiap komponennya ? saya akan jelaskan sedikit mengenai state dan props. State adalah data – data yang dapat disimpan dan diubah pada komponen misalnya kita mau punya data nama yang akan ditampilkan di atas kolom cari. kita cukup menaruh kode berikut pada component kita, misalnya pada file Aplikasi.js
nama adalah nama dari statenya, setNama adalah function untuk merubah datanya. Lalu kita import useState nya jangan lupa
nah, kira jadi seperti ini kode kita
jika sudah ditambahkan state maka kita bisa menggunakannya sesuka kita, misal kita mau tampilkan di atas kolom cari maka tinggal kita panggil seperti ini
maka sekarang, web kita akan menampilkan data dari statenya
lalu bagaimana dengan props ? props adalah sebuah cara untuk kita dapat berbagi data atau function dengan komponen lain. props ini akan memudahkan kita karena web kita terdiri dari banyak komponen. namun props memiliki keterbatasan yaitu hanya bisa dikirim oleh parent dan diterima oleh children. apa lagi itu ?? dalam web kita parentnya adalah komponen <Aplikasi /> dan children nya adalah semua yang ada dalam function return( ) yaitu <KolomCari /> <TombolCari /> <TableHasil /> mereka semua adalah anak kesayangan dari ibuk nya yaitu si komponen <Aplikasi />. misal <TombolCari /> mau pake data nama dari <Aplikasi /> maka si <Aplikasi /> harus mengirimkan props kepada <TombolCari /> dan si <TombolCari /> harus menerima propsnya. jadi kayak gini
penamaan props itu bebas, kebetulan saya pakai dataNama, nanti komponen kita jadi gini
seorang ibu telah memberi dan seorang anak tidak akan mampu membalas kebaikan ibu. seperti itulah props hanya bisa dikirim dari parent ke children, tidak sebaliknya. selanjutnya tinggal kita tangkap itu props yang dikirim di komponen <TombolCari />
kalau sudah ditangkap, kita bisa gunakan sesuka kita deh. misal mau kita tampilkan pada tombolnya hehe ini misalnya saja. maka akan jadi seperti ini kodenya
kira2 seperti apa tampilan web kita? haha ya tombolnya akan berubah sesuai data dari state nama milik komponen <Aplikasi /> .
ok kita sudah paham apa itu state dan props, pahami lagi karena akan sangat penting disaat kita membuat aplikasi yang cukup kompleks.
baiklah sekarang kita mulai tambahkan onchange event listener pada input text atau kolom pencarian milik komponen <KolomCari />
gitu kira2 salah satu caranya untuk menambahkan event listener onchange, ada beberapa cara lain tapi kita pakai yang umum saja. saat ini masih kosong function nya, btw saya pakai es6 arrow function untuk membuat function nya. kita bisa coba mengecek apakah function nya berfungsi. bisa dengan lewat console.log( ) . kalau pakai chrome dan firefox, silahkan pencet F12 untuk melihat console nya. sekarang kita ubah dikit kodenya jadi
silahkan di save dan dicoba. harusnya sudah ada di console apapun yang kita ketik di kolom cari. baiklah, sekarang saya mau apapun yang saya ketik akan merubah state nama dari komponen <Aplikasi /> , dengan kata lain saya mau panggil itu setNama miliknya si komponen <Aplikasi /> pada komponen <KolomCari />. gimana gan caranya ???
yak. betul sekali kita bisa kirim function setNama milik komponen <Aplikasi /> kepada komponen <KolomCari />, oke mari kita kirim seperti ini
lalu kita tangkap props nya di komponen <KolomCari />
daaaaan… apapun yang kita ketik akan merubah state, dan semua komponen yang memakai state nya akan terupdate otomatis.. wow… kereeeen.