Vấn đề về tính năng mới trong ReactJS

Xin chào mọi người!

Chuyện là mình mới học ReactJS, trước là mình học ReactJS thì khi create-react-app để tạo 1 project mới thì mặc định ReactJS sử dụng Class Component, mấy hôm nay thì ReactJS sử dụng Functional Component là mặc định. Mọi người có biết vì sao không ?

Tại vì có Hook API mới ra mắt cũng cách đây không quá lâu. Thay thế được state của component mà do việc dùng functional component nhẹ nhàng hơn + có state thông qua Hook rồi => nên nhiều người thích dùng Hook API hơn là state. => Team dev cho bái bai cái component luôn

5 Likes

việc dùng hook có ảnh hưởng gì tới quản lý state bằng redux các thứ k bác.

1 Like

Tất nhiên là không rồi :3
Tuy nhiên nhiều người thấy có vẻ thích Hook hơn là Redux.

4 Likes

ủa, thế dùng Hook thay thế luôn Redux được hả bạn?
mình cứ tưởng Hook thay thế state trong component đó thôi, muốn dùng quản lý state tập trung thì vẫn phải kết hợp Redux.

1 Like

Ko bạn nhé nó như function component + state thôi mà, connect vào redux vẫn bình thường. Viết hook thì gọn hơn Class nhiều ko phải thêm kiểu như this.state.val viết thẳng luôn val. Quản lý lifecycle cũng đơn giản thoải mái hơn class nhiều

3 Likes

Mình quá sai khi nói thích Hook hơn là Redux. Thực chất thì 2 cái không liên quan tới nhau. Redux là một kiến trúc, có thư viện hỗ trợ React dev xây dựng app với kiến trúc đó nhanh hơn (redux + react-redux). Còn Hook là API của React. Thế nên thay thế thì chỉ có thay thế cách implement của Redux hiện tại bằng Hook thôi :3

Ở mức gọi là thay thế luôn bộ API của Redux bây giờ bằng Hook API thì chưa làm hoàn chỉnh được. Hiện tại Hook chỉ có hỗ trợ useReducer + Context API để giả lập lại redux arch nhằm xử lý những trường hợp update state phức tạp và tránh việc truyền callback nhiều, chồng chéo. Việc chưa hỗ trợ middleware, combineReducer, xử side effect một cách trơn tru như với saga thì đây là những thiếu sót hiện tại. Tuy nhiên tương lai có thể các dev JS cũng sẽ nghĩ cách đẻ ra cái Hook Redux thui, có khi là một kiến trúc mới dựa trên Hook luôn.

Và như nói ở trên là có phần nghĩ cách implement Redux bằng Hook. Thì chứng tỏ Redux không phụ thuộc vào API nào, đơn giản vì Redux là một kiến trúc. Redux lbrary hiện tại sử dụng những API có sẵn của React từ trước để đơn giản hoá cách implement Redux. Người ta ko thích dùng cái cũ đó nữa vì sao thì mọi người đã nói ở trên á. Nên người ta dần chuộng Hook hơn. Nhưng khi mà Redux implemet bằng Hook thì nhiều khi người ta lại đâu vào đấy thôi

6 Likes

Rồng viết cho mọi người xài đi. :kissing_smiling_eyes:

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?