React / Next.js

Tối ưu hiệu năng React

React.memo, useMemo, useCallback, lazy loading, code splitting, React DevTools Profiler

22 câu hỏi phỏng vấn·
Senior
1

Vai trò chính của React.memo là gì?

Câu trả lời

React.memo là một Higher-Order Component giúp ghi nhớ kết quả render của một component. Nó thực hiện so sánh nông các props và bỏ qua việc re-render nếu props không thay đổi. Đặc biệt hữu ích để tối ưu các component con tốn kém mà thường xuyên nhận cùng các props.

2

Sự khác biệt chính giữa useMemo và useCallback là gì?

Câu trả lời

useMemo ghi nhớ kết quả của một hàm (giá trị trả về), trong khi useCallback ghi nhớ chính hàm đó. useMemo được dùng để tối ưu các phép tính tốn kém, còn useCallback được dùng để ổn định tham chiếu hàm được truyền dưới dạng props, ngăn chặn việc re-render không cần thiết của các component con đã được memoize.

3

Trong trường hợp nào việc sử dụng React.memo có thể phản tác dụng?

Câu trả lời

React.memo có thể phản tác dụng trên các component nhận props khác nhau ở mỗi lần render, vì chi phí so sánh nông props được thêm vào mà không có lợi ích (component sẽ re-render dù sao). Tốt hơn nên dành React.memo cho các component thường xuyên nhận cùng props và có quá trình render tốn kém.

4

Tại sao nên sử dụng useCallback cho hàm được truyền dưới dạng prop cho component đã được memoize bằng React.memo?

5

Lợi thế chính của code splitting với React.lazy là gì?

+19 câu hỏi phỏng vấn

Nắm vững React / Next.js cho lần phỏng vấn tiếp theo

Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.

Bắt đầu miễn phí