quocvy152 / ImproveReactNativeSkill

0 stars 0 forks source link

Trainning React Native Skill Day 9 #10

Open quocvy152 opened 6 months ago

quocvy152 commented 6 months ago

React Native Design Patterns:

1. Functional Components and Hooks:

  • Ưu điểm: Đơn giản hóa các component, nâng cao khả năng đọc code và tạo điều kiện thuận lợi cho việc quản lý trạng thái bằng các hook tích hợp như useState, useEffect và hook tùy chỉnh cho logic chia sẻ, dễ maintain quản lý hơn.

  • Nhược điểm: Quá phụ thuộc vào hook có thể dẫn đến logic phức tạp có thể được quản lý tốt hơn ở nơi khác.

  • Các trường hợp sử dụng: Lý tưởng cho hầu hết các thành phần giao diện người dùng và bất kỳ tình huống nào cần đến các phương thức trạng thái hoặc vòng đời mà không cần đến các Class Component.

  • Các phương pháp thực hành tốt nhất: Sử dụng useState cho trạng thái thành phần cục bộ, useEffect cho các side effects và các hook tùy chỉnh để tái sử dụng logic giữa các thành phần.

2. Context API and State Management

  • Ưu điểm: Cung cấp cách truyền dữ liệu qua Component Tree mà không cần phải truyền props theo cách thủ công ở mọi cấp độ.

  • Nhược điểm: Không phù hợp để quản lý các state mà có tần suất cập nhật cao; có thể dẫn đến các vấn đề về hiệu suất.

  • Trường hợp sử dụng: Management Global State, xác thực người dùng và tùy chọn.

  • Các phương pháp hay nhất: Sử dụng song song với useReducer để có logic trạng thái phức tạp hơn và để đảm bảo rằng các cập nhật trạng thái được xử lý có thể dự đoán được

3. Redux for State Management

quocvy152 commented 6 months ago

Tại sao lại xảy ra memory leaks ?

1. Sử dụng và quản lý các Event Listener không tốt

2. Sử dụng setTimeout hoặc setInterval nhưng không clear đi các function này khi Component Unmounted

3. Không giải phóng các resource như network connection, database connect, file handler khi không sử dụng nữa cũng có thể gây rò rỉ bộ nhớ 4. Cicurlar References:

quocvy152 commented 6 months ago

Closure Function