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

Best Python Cheatsheet

Python là một trong những ngôn ngữ lập trình tốt nhất để học. Khi bạn bắt đầu, bảng tham chiếu một trang về các biến, phương pháp, và các tùy chọn định dạng có thể có khá tiện dụng.  Mong bạn thấy bài viết hữu ích ! Chúc bạn thành công !

Cách sử dụng Nmap để scan Port trên Kali Linux

Port là gì ? Có rất nhiều lớp trong mô hình mạng nói chung, lớp vận chuyển đóng vai trò cung cấp các thông tin liên lạc giữa các ứng dụng hệ thống với nhau, và lớp này thì được kết nối với Port (Cổng). Một số điều lưu ý mà bạn cần biết về port - Port là một số hiệu ID cho 1 ứng dụng nào đó. - Mỗi ứng dụng chỉ có thể chạy trên một hoặc nhiều port và mang tính độc quyền, không có ứng dụng khác được chạy chung. - Chính vì tính độc quyền nên các ứng dụng có thể chỉnh sửa để cho phép chạy với một port khác. - Port cũng có phân chia làm Internal và External . - Số hiệu từ 1->65535. Một số thuật ngữ mà bạn cần nắm rõ Port: Là một địa chỉ mạng thực hiện bên trong hệ điều hành giúp phân biệt các traffic khác nhau của từng ứng dụng riêng lẻ Internet Sockets: Là một tập tin xác định địa chỉ IP gắn kết với port, nhằm để xử lý dữ liệu như các giao thức. Binding: Là quá trình mà một ứng dụng hoặc dịch vụ (service) sử dụng Internet Sockets để xử lý nhập và xuất các dữ liệu ...

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...