Trong React, state là nơi lưu trữ dữ liệu giúp giao diện hiển thị đúng theo từng tình huống. Nhưng nếu quản lý không tốt, ứng dụng sẽ bị chậm, khó bảo trì, và render lại nhiều lần không cần thiết.
Dưới đây là một vài cách đơn giản mà hiệu quả để tối ưu state:
1. Dùng useState
đúng chỗ
Chỉ dùng useState
khi state đó chỉ dùng trong một component. Nếu bạn cần chia sẻ state giữa nhiều component, hãy dùng context hoặc state toàn cục.
const [count, setCount] = useState(0);
2. Không đưa tất cả state lên component cha
Đừng “gom” hết state vào component lớn. Hãy để mỗi phần của giao diện quản lý state riêng của nó, trừ khi cần chia sẻ.
✅ Tốt:
<Header />
<Sidebar />
<Content />
Mỗi component tự quản lý state riêng nếu không liên quan đến nhau.
3. Dùng useContext
khi nhiều component cần chung 1 state
Ví dụ: thông tin người dùng, theme, ngôn ngữ...
Tạo một context để dùng chung.
const UserContext = createContext(); <UserContext.Provider value={user}> <ComponentA />
</UserContext.Provider>
4. Tránh render lại không cần thiết
Khi truyền props xuống component con, nên dùng React.memo
để tránh render lại nếu props không đổi.
const Button = React.memo(({ onClick }) => { return <button onClick={onClick}>Click me</button>;
});
✅ Tổng Kết
- Dùng
useState
cho dữ liệu nhỏ, riêng từng component. - Dùng
useContext
nếu nhiều component cần dùng chung. - Tránh đưa tất cả state lên cha nếu không cần thiết.
- Dùng
React.memo
để tối ưu hiệu năng.
🔚 Kết Luận
Quản lý state đúng cách trong React giúp ứng dụng chạy mượt hơn, dễ hiểu hơn và dễ phát triển về sau. Bạn không cần dùng đến những thư viện phức tạp ngay từ đầu — chỉ cần biết khi nào nên dùng useState
, khi nào cần context
, và tránh render lại không cần thiết là đủ để bắt đầu tối ưu hiệu quả. Khi dự án lớn dần, bạn có thể cân nhắc thêm các công cụ như Zustand hay Redux để quản lý state toàn cục tốt hơn.