- vừa được xem lúc

Reactjs advanced hooks (phần 1)

0 0 6

Người đăng: khánh hoàng

Theo Viblo Asia

Trong bài chia sẻ lần trước mình có nói về một hooks là useMemo. Hôm nay mình sẽ giới thiệu thêm cho các bạn về một chút Advance Hooks trong React. Chúng mình cùng đi tìm hiểu nhé.

useState
import React, {useState} form 'react'; function Count() { const [count, setCount] = useState(0); return( <div> <p>Click {count}</> <button onClick={() => setCount(count + 1)}> Click me </button> <div> )
}

Trên đây là một ví dụ, mình dùng một hook của react là useState. Hook phải được gọi bên trong function component. useState trả về một cặp dữ liệu, tham số thứ nhất là một local state được khai báo khi tạo một hook, tham số thứ 2 là một handler cho phép bạn thay đổi được giá trị của local state nó tương tự như this.state được dùng ở class.Chúng ta có thể khai báo nhiều state hook cùng một lúc.

Điều quan trọng chú ý là khi state thay đổi thì sẽ re-render lại component.

useEffect
import React, {useState, useEffect} form 'react'; function Count() { const [count, setCount] = useState(0); // giống như componentDidMount và componentDidUpdate useEffect(() => { console.log(1); }, []); // dependency return( <div> <p>Click {count}</> <button onClick={() => setCount(count + 1)}> Click me </button> <div> )
}

State này là sự kết hợp của 3 phương thức componentDidMount, componentDidUpdate, componentWillUnmount kết hợp lại với nhau

useEffect cho phép chúng ta xử lý logic và được gọi mỗi khi có sự thay đổi.useEffect dựa vào dependency để quyết định có chạy hay không, khi bạn không truyền dependency vào thì nó sẽ chạy luôn khi component render.Hook này rất hay, khi chúng ta muốn cho func có chạy hay không.

Các quy tắc sử dụng Hooks

Hooks là các function javascript, có những quy luật bạn phait tuân theo khi sử dụng chúng.

  • Chỉ sử dụng Hook ở trên cùng. Không gọi hook trong các vòng lặp, điều kiện hay các func lồng nhau.
  • Chỉ gọi Hook ở trong function component hoặc từ custom Hook

Bạn có thể lên npm tải plugin eslint-plugin-react-hooks nó sẽ tự động kiểm tra xem bạn đã dùng đúng chưa và đưa ra cảnh báo.

Ok. Chắc chúng ta dừng ở đây nhỉ, để các bạn đọc hiểu thêm về hai hook này trước, bài sau mình sẽ giới thiệu thêm cho các bạn những hook hay ở bài tiếp theo. Mình khuyết khích các bạn đọc và tìm hiểu thêm trên doc của reactjs.

Tổng kết

Qua vài những chia sẻ nhỏ ở trên của mình sẽ giúp được các bạn hiểu thêm về hook. Mình cảm ơn các bạn đã đọc bài viết của mình, nếu mình có nhầm chỗ nào mong các bạn góp ý giúp mình ạ ??

Bình luận

Bài viết tương tự

- vừa được xem lúc

Cùng tìm hiểu về các hook trong React hooks

Đối với ai đã từng làm việc với React thì chắc hẳn đã có những lúc cảm thấy bối rối không biết nên dùng stateless (functional) component hay là stateful component. Nếu có dùng stateful component thì cũng sẽ phải loay hoay với đống LifeCycle 1 cách khổ sở Rất may là những nhà phát triển React đã kịp

0 0 100

- vừa được xem lúc

Khi nào nên (và không nên) sử dụng Redux

. Công việc quản lý state với những hệ thống lớn và phức tạp là một điều khá khó khăn cho đến khi Redux xuất hiện. Lấy cảm hứng từ design pattern Flux, Redux được thiết kế để quản lý state trong các project JavaScript.

0 0 127

- vừa được xem lúc

ReactJS: Props và State

Nếu bạn đã học ReactJS hay React Native, bạn sẽ thấy các Props và State được sử dụng rất nhiều. Vậy chính xác chúng là gì? Làm thế nào để chúng ta sử dụng chúng đúng mục đích đây.

0 0 59

- vừa được xem lúc

State và Props trong Reactjs

Hello các bạn, tiếp tục seri tìm hiểu về ReactJs hôm nay mình xin giới thiệu đến các bạn hai thứ mình cho là thú vị nhất của ReactJs là State và Props. State bạn có thể hiểu đơn giản là một nơi mà bạn lưu trữ dữ liệu của Component, từ đó bạn có thể luân chuyển dữ liệu đến các thành phần trong Compon

0 0 54

- vừa được xem lúc

Memoization trong React

. 1.Introduction. Memoization có liên quan mật thiết đến bộ nhớ đệm, và dưới đây là một ví dụ đơn giản:. const cache = {}.

0 0 51

- vừa được xem lúc

Nâng cao hiệu suất React Hooks với React.memo, Memoization và Callback Functions

1.Ngăn Re-render và React.memo. React.

0 0 80