React hooks là một cách mới (vẫn đang được phát triển) để truy cập các tính năng cốt lõi của react chẳng hạn như state
không cần phải sử dụng các lớp, trong ví dụ của bạn nếu bạn muốn tăng bộ đếm trực tiếp trong hàm xử lý mà không cần chỉ định nó trực tiếp trong phần onClick
hỗ trợ, bạn có thể làm điều gì đó như:
...
const [count, setCounter] = useState(0);
const [moreStuff, setMoreStuff] = useState(...);
...
const setCount = () => {
setCounter(count + 1);
setMoreStuff(...);
...
};
và onClick:
<button onClick={setCount}>
Click me
</button>
Hãy nhanh chóng giải thích những gì đang xảy ra trong dòng này:
const [count, setCounter] = useState(0);
useState(0)
trả về một bộ giá trị trong đó tham số đầu tiên count
là trạng thái hiện tại của bộ đếm và setCounter
là phương thức cho phép chúng ta cập nhật trạng thái của bộ đếm. Chúng ta có thể sử dụng setCounter
phương thức để cập nhật trạng thái của count
bất kỳ đâu - Trong trường hợp này, chúng ta đang sử dụng nó bên trong setCount
hàm nơi chúng ta có thể làm nhiều việc hơn; ý tưởng với hook là chúng ta có thể giữ cho mã của mình nhiều chức năng hơn và tránh các thành phần dựa trên lớp nếu không muốn / cần thiết.
Tôi đã viết một bài viết đầy đủ về móc với nhiều ví dụ (bao gồm quầy) như này codepen , tôi đã sử dụng useState
, useEffect
, useContext
, và móc tùy chỉnh . Tôi có thể tìm hiểu thêm chi tiết về cách hook hoạt động trên câu trả lời này nhưng tài liệu giải thích rất chi tiết về state hook và các hook khác, hy vọng nó sẽ hữu ích.
cập nhật: Hook không còn là một đề xuất nữa , kể từ phiên bản 16.8, chúng hiện có sẵn để sử dụng, có một phần trong trang web của React trả lời một số Câu hỏi thường gặp .
useState
triển khai. Đây là định nghĩa của phiên bản 16.9 .