Cangkuk useState ialah salah satu cangkuk yang paling biasa digunakan dalam React. Ia membolehkan anda menambah keadaan pada komponen berfungsi anda. Sebelum cangkuk diperkenalkan, keadaan hanya boleh digunakan dalam komponen kelas, tetapi useState membolehkan anda mempunyai keadaan dalam komponen berfungsi juga. Ini menjadikan komponen berfungsi lebih berkuasa dan fleksibel.
useState ialah fungsi yang membolehkan anda mengisytiharkan pembolehubah keadaan dalam komponen berfungsi. Ia mengembalikan tatasusunan dengan dua elemen:
const [state, setState] = useState(initialState);
import React, { useState } from 'react'; const Counter = () => { const [count, setCount] = useState(0); // Initial state is set to 0 const increment = () => { setCount(count + 1); // Update state using the setCount function }; return ( <div> <p>Current Count: {count}</p> <button onClick={increment}>Increment</button> </div> ); }; export default Counter;
Apabila keadaan baharu bergantung pada keadaan sebelumnya, anda boleh menghantar fungsi kepada setState. Ini memastikan kemas kini berlaku berdasarkan nilai keadaan terkini.
const [count, setCount] = useState(0); const increment = () => { setCount(prevCount => prevCount + 1); // Functional update to ensure accurate state updates };
Anda boleh menggunakan useState beberapa kali dalam komponen untuk mengurus bahagian keadaan yang berbeza.
import React, { useState } from 'react'; const MultiStateComponent = () => { const [count, setCount] = useState(0); const [name, setName] = useState('John'); return ( <div> <p>Count: {count}</p> <button onClick={() => setCount(count + 1)}>Increment</button> <p>Name: {name}</p> <button onClick={() => setName('Doe')}>Change Name</button> </div> ); };
Jika keadaan awal kompleks atau memerlukan pengiraan, anda boleh lulus fungsi untuk useState yang hanya akan berjalan apabila komponen pertama kali dipaparkan.
const [state, setState] = useState(initialState);
Jika keadaan anda ialah objek atau tatasusunan, fungsi setState hanya mengemas kini bahagian tertentu keadaan yang anda sediakan. React tidak melakukan cantuman dalam, jadi anda perlu mengemas kini keseluruhan objek keadaan secara eksplisit jika anda ingin menukar mana-mana bahagian daripadanya.
import React, { useState } from 'react'; const Counter = () => { const [count, setCount] = useState(0); // Initial state is set to 0 const increment = () => { setCount(count + 1); // Update state using the setCount function }; return ( <div> <p>Current Count: {count}</p> <button onClick={increment}>Increment</button> </div> ); }; export default Counter;
const [count, setCount] = useState(0); const increment = () => { setCount(prevCount => prevCount + 1); // Functional update to ensure accurate state updates };
import React, { useState } from 'react'; const MultiStateComponent = () => { const [count, setCount] = useState(0); const [name, setName] = useState('John'); return ( <div> <p>Count: {count}</p> <button onClick={() => setCount(count + 1)}>Increment</button> <p>Name: {name}</p> <button onClick={() => setName('Doe')}>Change Name</button> </div> ); };
Kait useState ialah blok binaan asas dalam React untuk mengurus keadaan komponen. Ia membolehkan komponen berfungsi mempunyai keadaan setempat mereka sendiri, menjadikan kod lebih modular dan lebih mudah difahami. Dengan menggunakan useState, anda boleh membina komponen dinamik dan interaktif yang bertindak balas kepada input atau peristiwa pengguna.
Atas ialah kandungan terperinci Menguasai React's useState Hook: Asas dan Kes Penggunaan Lanjutan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!