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 LibreOffice trên Kali Linux

Xin chào mọi người ! Một số bạn không biết cài bộ công cụ văn phòng nào cho máy tính cài HĐH Kali Linux. Hôm nay mình sẽ hướng dẫn cho các bạn cài  LibreOffice trên Kali Linux. Nó giống như bộ Office của Microsoft và trên thực tế thì không bằng Microsoft được đâu. Việc cài đặt bộ Office này khá là đơn giản. Đầu tiên để cài thì bạn hãy tải LibreOffice phù hợp với phiên bản của máy tính đang sử dụng. Như của mình hiện tại là phiên bản LibreOffice_5.2.4 + Link Download (Download) Hãy tải phiên bản mới nhất có đuôi *.deb cho dễ cài đặt. Sau khi tải xong có 2 cách để các bạn cài đặt nó: + Cách 1: Sử dụng phần mềm Gdebi để cài đặt các file *.deb một cách dễ dàng. Tuy nhiên rất hay bị lỗi và không cài đặt được. + Cách 2: (Nên theo cách này) 1- Giải nén file LibreOffice ra. 2- Mở Terminal ra gõ:   ~# cd Downloads Các bạn có thể dùng lệnh ls để biết chính xác tên thư mục của mình và copy paste cho chuẩn. Tiếp sau đó thì gõ:   ~# cd LibreOffice_5....

Tạo ứng dụng realtime với Firebase Database và ReactJS

Hello cả nhà ! Như các bạn cũng đã biết thì Firebase được tạo bởi "Ông lớn Google", bởi vậy lên việc sử dụng Firebase khá an toàn và tiên dụng. Mọi người có thể vô trang chủ của Firebase tại địa chỉ:  Firebase Google  . Firebase có rất nhiều tính năng vô cùng tuyệt vời như: Storage, Database, Hosting, Function, Authentication, ML Kit. Hôm nay mình xin phép làm một demo nhỏ cho tạo ứng dụng realtime bằng cách sử dụng Firebase Database với ReactJS . Bài viết này mình xin hướng dẫn các bước chuẩn bị trước khi vô code. Đầu tiên các bạn vô trang chủ của Firebase, và tới Firebase console. Sau khi vô tới Console Firebase các bạn nhấn vô Add a Project để tạo 1 dự án mới. Các bạn nhập tên cho project của mình,  nó sẽ tự random ID project cho các bạn theo tên của project mà các bạn đã đặt. Điền hoàn tất thì nhấn Tạo và chờ vài giây để cho nó tạo Thành công. Tạo project xong các bạn chọn tiếp tới tạo Database, và chúng ta cũng chỉ quan tâm đến nó ...

Javascript kiểm tra Array chính xác hơn bằng Array.isArray

Các dev Javascript có thể điều biết, arrays is not true arrays . Mọi thứ trong javascript đều là object. Một cách điều hiểu điều đó rõ nhất là sử dụng typeof để kiểm tra nó, và tất nhiên nó sẽ là object. LOL Vậy làm sao để kiểm tra chính xác một phần tử có phải là array hay không trong javascript ? Đó đã không còn là vấn đề với Array.isArray(). Đây là các đơn giản để kiểm tra chính xác giá trị có phải là mảng hay không. Array is not true array Hãy xem ví dụ dưới để hiểu hơn, array is not true array Đó chính là lý do tại sao ta không lên dùng typeof để kiểm tra array. Array.isArray() demo Ví dụ dưới đây đều là array và đều return về true