Lý do (so sánh với các package tương ứng a đề cập bên trên):
shadcn/ui:
Dùng component nào, cài component đó -> nhẹ hơn cài cả lib
Không phụ thuộc version (MUI có bị conflict khi cài @type/react ở những version mới), shadcn/ui component đc cài lẻ nên ko phụ thuộc nhiều version
Nhiều star trên github hơn -> community mạnh hơn, issue search dễ hơn
zod:
Là thư viện hỗ trợ validate cho Typescript, yup phù hợp cho vanilla JS hơn.
https://zod.dev/?id=yup
TanstackQuery:
Hỗ trợ fetching, caching rất tốt phía client, cực nhiều features hay ho.
Zustand:
Dễ triển khai hơn Redux, nhẹ hơn và hạn chế re-render component vì nó quản lý state bằng hook. Trong khi đó, redux sẽ có 1 trung tâm store ở global. Khiến nó re-render nhiều hơn.
Cá nhân e thấy TanstackQuery + Zustand > redux-toolkit
Tất cả packages ở trên đều cực nổi mấy năm gần đây, nên việc debug hay research đều rất ok ạ.