ReactJS: Quản lý server state với react-query

Quản lý state trong React app là một bài toán phức tạp và vô cùng khó khăn. Bởi vì ngoài kia có rất rất nhiều thư viện và cách giải quyết khác nhau. Bạn có thể nghe đến một số em hot như Redux, React Context, Mobx, … đến các khái niệm như lifting state, … Read moreReactJS: Quản lý server state với react-query

ReactJS: Cài đặt chức năng Authentication

Giới thiệu Authentication là một trong những tính năng cơ bản và quan trọng trong tất cả các web app. Một app cần phải có tính năng đăng ký và đăng nhập. Đây được xem là viên gạch đầu tiên để bạn build một app phục vụ hàng triệu người dùng. Cho nên hiểu rõ … Read moreReactJS: Cài đặt chức năng Authentication

ReactJS: Gọi API để lấy dữ liệu cho Search Form

Chúng ta sẽ cùng tìm hiểu cách gọi API để lấy dữ liệu trong React component như thê nào? Bằng cách sử dụng hooks và window.fetch. Giả sử chúng ta sẽ cài đặt một màn hình tìm kiếm những quyển sách như sau: Trang này đơn giản chỉ có một Form với một Input để … Read moreReactJS: Gọi API để lấy dữ liệu cho Search Form

ReactJS: Style Login Form bằng CSS-in-JS với @emotion

CSS-in-JS là gì? Trong React chúng ta có nhiều cách để style cho các element như inline style, hay dùng css module, hay đơn giản bạn dùng className và khai báo css ở một file và import vào dự án. Bên cạnh đó, hiện nay có một cách phổ biến hơn là dùng CSS-in-JS (styled … Read moreReactJS: Style Login Form bằng CSS-in-JS với @emotion

ReactJS: So sánh cách viết logic để sử dụng lại giữa HOCs vs. Render Props vs. Hooks

Trong React, chúng ta có thể sử dụng Higher-Order Components và Render Props để viết một số logic và sử dụng lại cho nhiều component khác nhau. Với React v16.8, chúng ta lại có thêm một lựa chọn tối ưu hơn là sử dụng Hooks. Khi Hooks ra đời, nó đã làm thay đổi toàn … Read moreReactJS: So sánh cách viết logic để sử dụng lại giữa HOCs vs. Render Props vs. Hooks

Tự học ReactJS: React Suspense – So sánh một số cách fetch data từ API

Khi chúng ta fetch data cho một component, chắc chắn mọi người đều muốn lấy data nhanh nhất và sớm nhất có thể. Trước đây, nếu không có React.Suspense chúng ta sẽ gọi API sau khi component mounted. Có lẽ cách này hơi chậm, chúng ta phải chờ cho đến các giai đoạn sau hoàn … Read moreTự học ReactJS: React Suspense – So sánh một số cách fetch data từ API

Tự học ReactJS: React Suspense – Lấy dữ liệu từ API

Concurrent mode là gì? Đây là một kỹ thuật cho phép chúng ta thực hiện một số công việc (như fetch data từ api) song song với quá trình render component. Nó giúp tăng tốc trang web khi load dữ liệu từ server, đặc biệt với các thiết bị low-end như mobile. Lưu ý rằng … Read moreTự học ReactJS: React Suspense – Lấy dữ liệu từ API

Tự học ReactJS: React Patterns – Sử dụng control props

Thỉnh thoảng, người dùng (dev) muốn điều khiển và quản lí những state bên trong một component từ bên ngoài. Pattern state reducer cho phép chúng ta quản lí state bên trong component Toggle hiệu quả. Nhưng bây giờ mục tiêu là phải cho phép người dùng (dev) tự quản lí state (on/off) của Toggle … Read moreTự học ReactJS: React Patterns – Sử dụng control props

Tự học ReactJS: React Patterns – Sử dụng state reducer

Ở hai bài trước chúng ta đã sử dụng React.useState để quản lí state (on/off) của Toggle. Nếu như bạn muốn quản lí những component phức tạp hơn như dropdown, autocomplete, table,… Bạn có thể thay thế React.useState bằng React.useReducer. Khi chúng ta quản lí state bằng cách sử dụng React.useReducer thì được gọi là … Read moreTự học ReactJS: React Patterns – Sử dụng state reducer