React 项目中如何准确监控组件加载性能?

码农一泽 阅读 4

我在用 React 做一个数据看板页面,想监控某个图表组件的加载耗时,但用 performance.now() 测出来的时间有时候是负数或者特别小,根本不对。是不是我用的方式有问题?

目前我是这样写的:

useEffect(() => {
  const start = performance.now();
  // 模拟异步加载数据
  fetchData().then(() => {
    const end = performance.now();
    console.log('加载耗时:', end - start);
  });
}, []);
我来解答 赞 0 收藏
二维码
手机扫码查看
1 条解答
シ慧研
シ慧研 Lv1
直接用 performance.now() 测时间没问题,但要注意 JavaScript 是单线程的,可能有其他任务影响测量结果。你可以在 fetchData 之前和之后分别记录时间,确保没有被其他操作打断。代码改一下:

useEffect(() => {
const start = performance.now();
fetchData().then(() => {
const end = performance.now();
console.log('加载耗时:', end - start);
}).catch(error => {
console.error('数据获取失败:', error);
});
}, []);


注意加上错误处理,防止 fetchData 失败导致的异常。这样应该能更准确地测量加载时间。
点赞
2026-03-20 18:19