Saat ini saya sedang mempelajari konsep hook di React dan mencoba untuk memahami contoh di bawah ini.
import { useState } from 'react';
function Example() {
// Declare a new state variable, which we'll call "count"
const [count, setCount] = useState(0);
return (
<div>
<p>You clicked {count} times</p>
<button onClick={() => setCount(count + 1)}>
Click me
</button>
</div>
);
}
Contoh di atas menambah penghitung pada parameter fungsi handler itu sendiri. Bagaimana jika saya ingin mengubah nilai hitungan di dalam fungsi event handler
Pertimbangkan contoh di bawah ini
setCount = () => {
//how can I modify count value here. Not sure if I can use setState to modify its value
//also I want to modify other state values as well here. How can I do that
}
<button onClick={() => setCount()}>
Click me
</button>
javascript
reactjs
react-native
react-hooks
Hemadri Dasari
sumber
sumber
useState
penerapannya. Berikut adalah definisi dari versi 16.9 .Jawaban:
React hooks adalah cara baru (masih dikembangkan) untuk mengakses fitur inti react seperti
state
tanpa harus menggunakan kelas, dalam contoh Anda jika Anda ingin menambah penghitung secara langsung di fungsi handler tanpa menentukannya secara langsung dionClick
prop, Anda bisa melakukan sesuatu seperti:dan onClick:
Mari kita jelaskan dengan cepat apa yang terjadi di baris ini:
useState(0)
mengembalikan tupel di mana parameter pertamacount
adalah keadaan penghitung saat ini dansetCounter
merupakan metode yang memungkinkan kita untuk memperbarui keadaan penghitung. Kita dapat menggunakansetCounter
metode untuk memperbarui status dicount
mana saja - Dalam hal ini kita menggunakannya di dalamsetCount
fungsi di mana kita dapat melakukan lebih banyak hal; ide dengan hook adalah bahwa kita dapat menjaga kode kita lebih fungsional dan menghindari komponen berbasis kelas jika tidak diinginkan / diperlukan.Saya menulis sebuah artikel lengkap tentang kait dengan beberapa contoh (termasuk counter) seperti ini codepen , saya memanfaatkan
useState
,useEffect
,useContext
, dan kait kustom . Saya bisa membahas lebih detail tentang bagaimana hook bekerja pada jawaban ini tetapi dokumentasinya melakukan pekerjaan yang sangat baik menjelaskan hook negara dan lainnya secara rinci, semoga ini membantu.update: Hooks bukan lagi proposal , karena versi 16.8 sekarang tersedia untuk digunakan, ada bagian di situs React yang menjawab beberapa FAQ .
sumber
setSomething
, jika saya kemudian mencoba menggunakansomething
langsung setelahnya, tampaknya masih memiliki nilai lama ...useState
adalah salah satu kait reaksi bawaan yang tersedia dalam0.16.7
versi.useState
harus digunakan hanya di dalam komponen fungsional.useState
adalah cara jika kita membutuhkan keadaan internal dan tidak perlu mengimplementasikan logika yang lebih kompleks seperti metode siklus hidup.Harap dicatat bahwa
useState
hook callback untuk memperbarui status berperilaku berbeda dari komponenthis.setState
. Untuk menunjukkan perbedaannya, saya menyiapkan dua contoh.Objek baru dibuat saat
setUserInfo
callback digunakan. Perhatikan kami kehilanganlastName
nilai kunci. Untuk memperbaikinya kita bisa melewatkan fungsi di dalamnyauseState
.Lihat contoh:
Untuk lebih lanjut tentang
useState
lihat dokumentasi resmi .sumber
Sintaks dari
useState
hook sangatlah mudah.const [value, setValue] = useState(defaultValue)
Jika Anda tidak terbiasa dengan sintaks ini, buka di sini .
Saya akan merekomendasikan Anda membaca dokumentasi . Ada penjelasan yang sangat baik dengan jumlah contoh yang layak.
sumber
useState
adalah salah satu pengait yang tersedia di React v16.8.0. Ini pada dasarnya memungkinkan Anda mengubah komponen non-stateful / fungsional Anda menjadi komponen yang dapat memiliki statusnya sendiri.Pada tingkat paling dasar, ini digunakan sebagai berikut:
Ini kemudian memungkinkan Anda memanggil
setLoading
meneruskan nilai boolean. Ini adalah cara yang keren untuk memiliki komponen fungsional "stateful".sumber
useState()
adalah hook React. Hook memungkinkan untuk menggunakan status dan mutabilitas di dalam komponen fungsi.Meskipun Anda tidak bisa menggunakan hook di dalam kelas, Anda bisa membungkus komponen kelas Anda dengan fungsi satu dan menggunakan hook darinya. Ini adalah alat yang hebat untuk memigrasi komponen dari kelas ke bentuk fungsi. Berikut contoh lengkapnya:
Untuk contoh ini saya akan menggunakan komponen penghitung. Ini dia:
Ini adalah komponen kelas sederhana dengan status hitungan, dan pembaruan status dilakukan dengan metode. Ini adalah pola yang sangat umum pada komponen kelas. Hal pertama adalah membungkusnya dengan komponen fungsi dengan nama yang sama, yang mendelegasikan semua propertinya ke komponen yang dibungkus. Anda juga perlu merender komponen yang dibungkus dalam fungsi kembali. Ini dia:
Ini adalah komponen yang persis sama, dengan perilaku yang sama, nama yang sama, dan properti yang sama. Sekarang mari kita angkat status penghitungan ke komponen fungsi. Beginilah kelanjutannya:
Perhatikan bahwa metode
inc
ini masih ada, tidak akan merugikan siapa pun, sebenarnya adalah kode mati. Ini idenya, teruslah angkat status. Setelah Anda selesai, Anda dapat menghapus komponen kelas:Meskipun ini memungkinkan untuk menggunakan kait di dalam komponen kelas, saya tidak akan merekomendasikan Anda untuk melakukannya kecuali jika Anda bermigrasi seperti yang saya lakukan dalam contoh ini. Fungsi pencampuran dan komponen kelas akan membuat manajemen negara menjadi berantakan. saya harap ini membantu
Salam Hormat
sumber
useState () adalah contoh hook React bawaan yang memungkinkan Anda menggunakan status dalam komponen fungsional Anda. Ini tidak mungkin dilakukan sebelum React 16.7.
Fungsi useState adalah pengait bawaan yang dapat diimpor dari paket react. Ini memungkinkan Anda untuk menambahkan status ke komponen fungsional Anda. Dengan menggunakan hook useState di dalam komponen fungsi, Anda dapat membuat bagian dari status tanpa beralih ke komponen kelas.
sumber
Hooks adalah fitur baru di
React v16.7.0-alpha
useState
adalah "Hook".useState()
setel nilai default dari variabel apapun dan kelola dalam komponen fungsi (fungsi PureComponent).ex : const [count, setCount] = useState(0);
atur nilai default dari count 0. dan u dapat digunakansetCount
untukincrement
ataudecrement
nilainya.onClick={() => setCount(count + 1)}
menambah nilai hitungan. DOKTERsumber
Terima kasih loelsonk, saya melakukannya
sumber
useState adalah pengait yang memungkinkan Anda menambahkan status ke komponen fungsional. Ini menerima argumen yang merupakan nilai awal dari properti negara dan mengembalikan nilai saat ini dari properti negara dan metode yang mampu memperbarui properti negara tersebut.
Berikut ini contoh sederhananya:
import React, {useState} from react
function HookCounter {
const [count, stateCount]= useState(0)
return(
<div>
<button onClick{( ) => setCount(count+1)}> count{count} </button>
</div>
)
}
useState menerima nilai awal dari variabel state yang nol dalam kasus ini dan mengembalikan sepasang nilai. Nilai state saat ini disebut count dan metode yang dapat memperbarui variabel state disebut sebagai setCount.
sumber