Tối ưu hóa hiệu suất
Tối ưu hóa FlatList, memo, useMemo/useCallback, Hermes, profiling, kích thước bundle
1Vai trò chính của React.memo trong tối ưu hóa hiệu suất React Native là gì?
Vai trò chính của React.memo trong tối ưu hóa hiệu suất React Native là gì?
Câu trả lời
React.memo là một Higher-Order Component giúp ghi nhớ (memoize) kết quả render của một functional component. Nó ngăn các lần re-render không cần thiết bằng cách so sánh props hiện tại với props trước đó (mặc định là shallow comparison). Nếu props không thay đổi, React sẽ tái sử dụng kết quả đã được ghi nhớ thay vì render lại component, giúp cải thiện đáng kể hiệu suất trong các danh sách hoặc cây component phức tạp.
2Thuộc tính nào của FlatList tối ưu hóa đáng kể việc cuộn bằng cách cung cấp kích thước item trước?
Thuộc tính nào của FlatList tối ưu hóa đáng kể việc cuộn bằng cách cung cấp kích thước item trước?
Câu trả lời
getItemLayout là một thuộc tính tùy chọn của FlatList cho phép tính trước chiều cao, chiều rộng và offset của mỗi phần tử. Điều này giúp React Native không phải đo từng item một cách động, cải thiện đáng kể hiệu suất cuộn, đặc biệt khi nhảy đến một index cụ thể bằng scrollToIndex. Tối ưu hóa này đặc biệt hữu ích khi tất cả các item có cùng kích thước.
3Sự khác biệt chính giữa useMemo và useCallback xét về mặt tối ưu hóa là gì?
Sự khác biệt chính giữa useMemo và useCallback xét về mặt tối ưu hóa là gì?
Câu trả lời
useMemo ghi nhớ kết quả của một phép tính tốn kém và trả về giá trị đã tính đó, trong khi useCallback ghi nhớ chính một hàm và trả về hàm đó. useMemo hữu ích để tránh các phép tính lại nặng nề trên mỗi lần render, còn useCallback rất cần thiết để tránh tạo lại các hàm được truyền dưới dạng props cho các component con đã được ghi nhớ, điều này sẽ phá vỡ tối ưu hóa React.memo của chúng.
Hermes là gì và lợi thế chính của nó đối với các ứng dụng React Native là gì?
Tại sao việc cung cấp một hàm keyExtractor ổn định cho FlatList lại quan trọng?
+21 câu hỏi phỏng vấn
Các chủ đề phỏng vấn React Native khác
Kiến thức cơ bản về JavaScript
Kiến thức cơ bản về React
Kiến thức cơ bản về React Native
React Hooks
TypeScript cho React & React Native
Thành phần & API React Native
Styling & Layout trong React Native
Điều hướng React Native
Quản lý State trong React Native
Networking & API trong React Native
Lưu trữ dữ liệu bền vững
Form & Validation
Animation trong React Native
Native Modules & Bridge
Mã đặc thù theo nền tảng
Quyền & Device API
Push Notifications
Testing React Native
Debugging React Native
Build & Deployment
Expo vs React Native Bare
Quản lý bộ nhớ
Architecture Patterns
New Architecture của React Native
Các Phương Pháp Bảo Mật Tốt Nhất
Offline-First Architecture
CI/CD React Native
Monorepo & Chia sẻ mã
Chủ đề nâng cao
Vòng đời ứng dụng & Thực thi nền
Xác thực & Quản lý phiên
Monitoring & Crash Reporting
Nắm vững React Native 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í