Skip to main content

Hiểu hơn về React default props



Trong bài viết này, ta sẽ hiểu hơn về default props trong React.

Short Intro

Reactjs, JSX-based JavaScript UI là một thư viện JS phổ biến nhất hiện nay. Hàng triệu ứng dụng được xây dựng bằng React, nó cung cấp khá nhiều ý tưởng:

- Performance tốt
- Ứng dụng nhỏ
- Vitual DOM
- Tái sử dụng code
- UI xây dựng bằng Components
- Chạy trên nhiều nền tảng: Mobile/Tablet and Desktop
- Dễ dàng cho người mới bắt đầu

Một React component y như một HTML element và component cơ bản là một class bao gồm:

- props
- data
- state ( dùng setState() để thay đổi )
- markup ( dùng render() )

Tất cả những điều trên sẽ tạo ra một UI widget.

Components là một công cụ chính để ta xây dựng giao diện UI. Tất cả các ứng dụng React sẽ có root component, nó thương được gọi là App component.

React cung cấp các component truyền data cho nhau và các events khác nhau. Bạn có thể viết một component và sử dụng nó như là một component con - chúng thì có liên kết đến nhau.

Mỗi component sẽ bao gồm các giá trị của nó:
- Data input vào là gì ?
- Làm sao để dùng nó ?

Problem Statement

React components cần truyền vào tham số props.


Đây là ví dụ cho việc truyền data từ component cha.


Ta truyền thuộc tính `catName` có giá trị là `Picky`, CatComponent sẽ nhận giá trị đó thông qua props. Tất cả các thuộc tính được truyền từ cha sang con sẽ đều thông qua props.

Vấn đề ở đây là nếu như Component cha không truyền data qua Component con thì sao ?

Tất nhiên Component con sẽ nhận được giá trị props là undefined.

Một số vấn đề khác nữa là nếu như Component con không có giá trị, hay ở đây chính là undefined thì có thể làm ứng dụng không render ra được dẫn tới crash ứng dụng.

The Solution — defaultProps

Cách giải quyết vấn đề, ta có thể sử dụng toán tử logic || để chắc chắn rằng nếu như không có props thì hiển thị giá trị còn lại.


Với cách trên nó sẽ chạy nhưng không phải là cách tốt nhất. React cung cấp một biện pháp tốt hơn, đó chính là defaultProps.

defaultProps là một thuộc tính trong React component sử dụng để xét mặc định giá trị value cho props. Nó sẽ thay đổi khi có props mới được truyền qua.

Ở phần tới ta sẽ thấy cách sử dụng defaultProps bằng ES6 class và function component.

ES6 React Component

Sử dụng ES6 class, ta sẽ dùng thuộc tính static với tên là defaultProps.


Ta sử dụng thuộc tính static và xét defaultProps trong class CatComponent thì component sẽ sử dụng giá trị mặc định của props nếu như không có props khác được truyền qua.

Functional Component


Conclusion

Vậy là ta đã hiểu hơn một phần nào đó về việc sử dụng defaultProps trong React. Hy vọng bài viết hữu ích với các bạn.

Thanks for reading !

Resource: blog.bitsrc.io

Comments

Popular posts from this blog

Hướng dẫn cài đặt HĐH Kali Linux trên máy thật

Để cài đặt được HĐH Kali Linux trên máy thật các bạn chỉ cần chuẩn bị như sau: 1- USB >=4GB 2- Phiên bản Linux muốn cài đặt (Tải tại đây) 3- Tải win32 disk imager  (Tải tại đây)    Vậy là đã chuẩn bị xong ! TIẾP TỤC: Bước 1 . Khởi động chương trình UUI. Chọn I Agree. Bước 2 . Cấu hình UUI. Step 1: Select a Linux Distribution from the dropdown to put on your USB : Chọn hệ điều hành cần tạo, bạn chọn Kali Linux. Step 2: Select your Kali*.iso : Chọn file cài cài đặt Kali Linux. Lưu ý: tên file phải bắt đầu bằng Kali và kết thúc bằng .iso . Step 3: Select your USB Flash Drive Letter Only: Chọn thiết bị USB của bạn. Check vào We will format E:\ Drive as Fat32 để format lại USB của bạn. Cấu hình UUI Cảnh báo Format USB hiện lên, bạn chọn Yes để bắt đầu tiến trình. Cảnh báo format, chọn Yes. Tiến trình format và tạo USB Boot Kali Linux bắt đầu. Format và gắn nhãn UUI. Bắt đầu giải nén file .iso. Quá trình giải nén. Bước 3 . Hoàn t...

Hooks in React - How to use it ?

Mới đây, React đã chính thức công bố hooks . Vậy hooks là gì ? Hooks là những hàm cho phép bạn “kết nối” state và lifecycle của React vào các components. Với Hooks bạn có thể sử dụng state và lifecycles mà không cần dùng class. Ví dụ đơn giản cho việc sử dụng hooks useState : - Đầu tiên import thêm useState từ react.  - Ta có 1 function Counter, 2 biến count, setCount và truyền vào cho useState 1 giá trị được gán cho count. - Trong hàm render ta có hiển thị biến count và khi click thì sẽ gọi tới hàm setCount và tăng count lên 1 đơn vị. Qua ví dụ trên ta có thể thấy, việc sử dụng function component kết hợp với hooks hoàn toàn tiện lợi. Nó giúp code trong ngắn gọn và dễ hiểu hơn thay vì ta dùng class và phải setState. Tiếp theo, để có thể dùng được các lifecycles trong function component ta có useEffect . Nó tương tự như các lifecycles componentDidMount , componentDidUpdate , componentWillUnmount . Cách sử dụng useContext trong hooks sẽ như v...

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