Skip to main content

Master Proptypes trong React


React là một thư viện JavaScript cho việc xây dựng giao diện người dùng (UI). React giúp quản lý dễ các trạng thái (state) của ứng dụng hơn và sẽ thay đổi UI khi mà state thay đổi.

React dựa vào các component và mỗi component có state của nó. Nếu như là state của component dùng setState() và có thể thể props từ component cha.

The Problem

Từ khi Reatc là một thư viện JavaScript và JS không cung cấp bất cứ thứ gì về type-checking, bỏ qua việc đó khi sử dụng props component có thể khiến bạn gặp bugs trong ứng dụng.

Solution

Bạn có thể dùng Js extensions như TypeScript cho việc checking, nhưng nếu bạn không muốn sử dụng nó, React cung cấp đầy đủ cho tính năng type-checking verify props của các component chính xác type. Sử dụng PropTypes, bạn có thể chắc chắn các component nhận đúng type của props.

Ví dụ, ta có Person component và nhận 2 props: `name` và `age`. Sử dụng PropTypes, ta có thể chắc chắn `name` luôn luôn là `string` và `age` luôn luôn là number.

Installing PropTypes

Để sử dụng PropTypes, ta phải cài đặt prop-type package của React. Ví dụ:


Using PropTypes

Đầu tiên ta import PropTypes từ prop-types package. Ví dụ:


Ở đây propTypes là một object chứa key-value, trong đó thì key là tên của prop và value là giá trị của prop mà chúng ta có thể nhận trong component.

Example

Nếu ta có Student component và nhận 2 props: name và age. Trong đó name có type là string và age là number.


PropTypes.string và PropTypes.number là prop được xác thực props khi nhận được là đúng type. PropTypes có một số kiểu xác thực (validators) như:


PropTypes in Functional Components


Requiring Props

Để bắt buộc prop luôn được nhận từ component cha, ta dùng thêm `isRequired` để validator prop. Ví dụ:


Giả sử nếu như Component cha của Student component chỉ truyền `age` và không truyền name thì sẽ hiện Warning như sau:


Requiring Single Child

Nếu ta dùng PropTypes.element để render single child như sau:



Nếu bạn thử render nhiều hơn 1 component truyền vào trong component Container thì sẽ Warning. Ví dụ: 


Advance PropTypes Validators

Ta có thể checking từng object của array, ví dụ tôi dùng PropTypes.arrayOf() để xác định từng phần tử trong mảng.



Và nếu như bạn thử truyền props là string thì sẽ bị Warning như ví dụ sau:


Điều này cũng tương tự với Object bằng cách sử dụng PropTypes.objectOf().

Conclusion

Qua những ví dụ trên ta có thể hiểu hơn về PropTypes và làm như nào để có thể type-checking. Bằng những thủ thuật nhỏ như vậy ta có thể tránh được những lỗi cơ bản trong ứng dụng của mình. Hy vọng bài viết hữu ích với mọi người.

Thanks for watching !

Resource: blog.bitsrc.io

Comments

Popular posts from this blog

Cách mã hóa mật khẩu trong Kali Linux 2016.2 | Encrypt Passwords

Xin chào tất cả mọi người ! Như tất cả mọi người cũng đã biết việc mã hóa mật khẩu là vô cùng quan trọng trong thời buổi công nghệ thông tin phát triển như vũ bão hiện nay. Việc để mật khẩu một cách bình thường là vô cùng nguy hiểm. Hôm nay tôi xin giới thiệu cho tất cả mọi người một công cụ chuyên mã hóa mật khẩu trên Kali Linux đó chính là HashCode Tool. Việc cài đặt và sử dụng HashCode rất đơn giản, chúng ta sẽ bắt đầu luôn nào ! Bước 1:Download  Để Download HashCode các bạn có thể tải bằng cách: ~# cd Desktop ~# git clone https://github.com/Sup3r-Us3r/HashCode.git Sau đó chờ tải file HashCode về. File sẽ được lưu ở ngoài màn hình Desktop. Bước 2: Cài đặt (Install) Sau khi file đã tải xong các bạn trỏ tới file: ~# cd HashCode Chạy 3 lệnh tiếp theo: ~# sudo chmod +x hashcode-en.py ~# sudo chmod +x hashcode-pt.py ~# sudo chmod +x hashcodegui.py Sau khi chạy xong 3 lệnh trên vậy là việc cài đặt của chúng ta đã hoàn tất và bây giờ chúng ta hãy c...

10 lệnh nguy hiểm nhất của Linux - Không bao giờ nên chạy trên Linux Os

Terminal Linux là một trong những công cụ mạnh mẽ nhất trong thế giới Linux OS. Bạn có thể làm bất cứ điều gì với thiết bị đầu cuối Linux, bất cứ điều gì bạn muốn. Linux những dòng lệnh giúp ta thấy thú vị hơn, hữu ích và năng suất các tính năng. Nhưng nó có thể rất nguy hiểm, đặc biệt là khi bạn không biết bạn đang làm gì. Ngay cả một sai lầm nhỏ cũng có thể dẫn đến mất dữ liệu và hệ điều hành của bạn. Một người sử dụng Linux mới nên rất cẩn thận trong khi thực hiện các lệnh. Chúng tôi chỉ muốn làm cho bạn biết về một số lệnh mà bạn nên suy nghĩ trước khi thực hiện chúng.   Đây là 10 lệnh chết người nhất của Linux mà bạn nên biết trước khi thực hiện chúng. 1. rm -rf Lệnh rm -rf là ​​một trong những cách nhanh nhất để xóa toàn bộ các tệp và thậm chí toàn bộ nội dung. Lệnh này dẫn đến rất nhiều mất mát.      Rm: rm lệnh trong Linux được sử dụng để xóa / xóa các tập tin.      Rm -r: lệnh này sử dụng để xóa thư mục đệ quy và làm trố...

Cách cài đặt ibus-unikey trên Kali Linux 2016.2

Cách cài đặt ibus-unikey trên Kali Linux 2016.2   Lỗi không cái được ibus-unikey là do file sources.list của máy các bạn còn thiếu lên là mình đã để toàn bộ file của sources.list mình để trong mô tả dưới video. Có gì mọi người có thể comment dưới bài viết này hoặc trong video mình sẽ trả lời. Mong các bạn thấy bài viết hữu ích ! Chúc bạn thành công !