- Bài viết về những trải nghiệm và bài học mà tác giả rút ra trong quá trình chuyển 50.000 dòng mã sang React Server Components (RSCs)
- RSCs là các component React chạy trên máy chủ thay vì phía client, mang lại hai lợi ích chính so với server-side rendering (SSR)
- Thứ nhất, RSCs cho phép lập trình viên xác định nơi đoạn mã được thực thi, từ đó giảm kích thước bundle và giảm lượng công việc trong quá trình hydration
- Thứ hai, server component có thể lấy dữ liệu trực tiếp bên trong component và stream tới client, giúp việc lấy dữ liệu trong React trở nên dễ dàng và hiệu quả hơn
- Tuy nhiên, việc sử dụng RSCs cũng có một số hạn chế. CSS-in-JS không hoạt động trong server component, React Context chỉ có thể được truy cập trong client component, và sự phức tạp của việc quản lý nơi mã được thực thi có thể là một thách thức
- Tác giả đề xuất cách tiếp cận 3 bước để áp dụng RSCs một cách dần dần:
- Thêm chỉ thị "use client" ở gốc của ứng dụng
- Di chuyển chỉ thị xuống vị trí thấp nhất có thể trong cây render
- Áp dụng các mẫu nâng cao khi phát sinh vấn đề về hiệu năng
- Dù có thêm độ phức tạp, tác giả kết luận rằng các lợi ích của RSCs, như kích thước bundle nhỏ hơn, thực thi nhanh hơn và các mẫu tải dữ liệu nâng cao, có thể lớn hơn chi phí nếu lợi ích hiệu năng đó là điều đội ngũ cần
1 bình luận
Ý kiến trên Hacker News
appmới của nó, nhấn mạnh sự khó khăn trong việc hiểu công việc diễn ra ở đâu (trên server hay client), cũng như các vấn đề với những thư viện React hiện có vốn giả định xử lý phía client.