We want to hear from you!Take our 2021 Community Survey!

Performance Tools

Note:

Kể từ React 16, react-addons-perf không được hỗ trợ nữa. Hãy sử

dụng your browser’s profiling tools để có thông tin chi tiết từ các components re-render.

Importing

import Perf from 'react-addons-perf'; // ES6
var Perf = require('react-addons-perf'); // ES5 with npm

Tổng quan

React thường diễn ra khá nhanh. Tuy nhiên, trong những tình huống bạn cần tận dụng từng chút hiệu suất của ứng dụng, nó sẽ cung cấp phương pháp shouldComponentUpdate() nơi bạn có thể thêm các gợi ý tối ưu hóa cho thuật toán khác biệt của React.

Ngoài việc cung cấp cho bạn cái nhìn tổng quan về hiệu suất tổng thể của ứng dụng, Perf là một công cụ lập hồ sơ cho bạn biết chính xác nơi bạn cần đặt các phương pháp này.

Xem các bài viết này để được giới thiệu về công cụ hiệu suất React:

Môi trường Development và môi trường Production Builds

Nếu bạn đang đo điểm chuẩn hoặc thấy các vấn đề về hiệu suất trong các ứng dụng React của mình, hãy đảm bảo rằng bạn đang thử nghiệm với bản dựng sản xuất thu nhỏ. Bản dựng phát triển bao gồm các cảnh báo bổ sung hữu ích khi xây dựng ứng dụng của bạn, nhưng nó chậm hơn do có thêm sổ sách kế toán.

Tuy nhiên, các công cụ hoàn hảo được mô tả trên trang này chỉ hoạt động khi sử dụng bản dựng phát triển của React. Do đó, trình mô tả chỉ dùng để chỉ ra các phần relatively đắt tiền trong ứng dụng của bạn.

Sử dụng Perf

Đối tượng Perf chỉ có thể được sử dụng với React trong chế độ phát triển. Bạn không nên bao gồm gói này khi xây dựng ứng dụng của mình để sản xuất.

Getting Measurements

Printing Results

Các phương pháp sau sử dụng các phép đo được trả về bởi Perf.getLastMeasurements () để in kết quả.


Reference

start()

stop()

Perf.start()
// ...
Perf.stop()

Start/stop đo lường. Các hoạt động React ở giữa được ghi lại cho các phân tích bên dưới. Các thao tác chiếm một lượng thời gian không đáng kể sẽ bị bỏ qua.

Sau khi dừng, bạn sẽ cần Perf.getLastMeasurements() để lấy các phép đo.


getLastMeasurements()

Perf.getLastMeasurements()

Nhận cấu trúc dữ liệu không rõ ràng mô tả các phép đo từ phiên khởi động cuối cùng. Bạn có thể lưu nó và chuyển nó cho các phương pháp in khác trong Perf để phân tích các phép đo trong quá khứ.

Ghi chú

Đừng dựa vào định dạng chính xác của giá trị trả về vì nó có thể thay đổi trong các bản phát hành nhỏ. Chúng tôi sẽ cập nhật tài liệu nếu định dạng giá trị trả về trở thành một phần được hỗ trợ của API công khai.


printInclusive()

Perf.printInclusive(measurements)

In tổng thời gian đã thực hiện. Khi không có đối số nào được chuyển, printInclusive mặc định cho tất cả các phép đo từ bản ghi cuối cùng. Thao tác này sẽ in ra một bảng được định dạng độc đáo trong bảng điều khiển, như sau:

perf inclusive


printExclusive()

Perf.printExclusive(measurements)

Thời gian “Exclusive” không bao gồm thời gian thực hiện để gắn kết các thành phần: xử lý đạo cụ, gọi componentWillMountcomponentDidMount, v.v.

perf exclusive


printWasted()

Perf.printWasted(measurements)

The most useful part of the profiler.

“Wasted” time is spent on components that didn’t actually render anything, e.g. the render stayed the same, so the DOM wasn’t touched.

perf wasted


printOperations()

Perf.printOperations(measurements)

In các thao tác DOM cơ bản, ví dụ: “set innerHTML” và “remove”.

perf dom


printDOM()

Perf.printDOM(measurements)

Phương thức này đã được đổi tên thành printOperations(). Hiện tại printDOM() vẫn tồn tại dưới dạng bí danh nhưng nó sẽ in một cảnh báo không dùng nữa và cuối cùng sẽ bị xóa.

Trang này có hữu ích không?Sửa trang này