Skip to main content

Posts

Why Redux?

Redux giúp mình State management  - Quản lý State dễ thở hơn. Nếu bạn đã truyền (passing) props giữa các component thì chắc bạn sẽ gặp 1 lúc mà việc pass đi như vậy phức tạp và rườm rà nếu tụi nó nest nhau quá nhiều tầng, hoặc nhiều component cùng dùng chung một cái state ở đẩu đâu đó, việc passing props vậy đúng là cực hình, phải truyền từng tầng từng tầng một  => code nhiều => thì chắc chắn sẽ nhiều bug hơn (không code thì không bug =)) ). Mà bug này là khóc luôn. Kiểu phải truyền xuống từng tầng một này hay gọi là  Props drilling (also called "threading"). Redux với ý tưởng là sẽ tạo 1 cái " store " to bự chảng, chứa tất cả state mà app bạn cần dùng (share giữa nhiều component). Bạn cứ hiểu như nó là một cái component nằm ở đỉnh tree node của app. mấy cái node dưới sẽ là con nên sẽ access đến store được, chỉ cần connect vào là xong. Cái nào cần dùng thì sẽ " connect " vào cái " store " và dùng state đó thông qua props như thô...

Props vs State, Why?

Vì sao lại cần Props và State Khi người ta tạo ra các component, họ mới đặt câu hỏi làm sao để các component giao tiếp với nhau (từ parent tới child). Nên người ta mới nghĩ ra props (properties) để truyền data. Props là read-only , không thể thay đổi hay tác động (immutable) Nhưng khi một component cần react , render tùy theo tác động trực tiếp vào nó, nó cần data riêng để thể hiện sự thay đổi đó, nên người ta nghĩ ra sẽ cho component state (trạng thái) để thể hiện điều đó. State chỉ có thể update bởi chính component đó, bên ngoài không thể tác động