【问题标题】:How do we use the facebook React addons Perf class?我们如何使用 facebook React addons Perf 类?
【发布时间】:2015-03-03 00:42:23
【问题描述】:

尝试一个非常简单的事情,却收到错误“TypeError: Cannot read property 'counts' of undefined”

这是 hello world 示例代码。

https://gist.github.com/joshuacalloway/ae5b184c485956314d1c

【问题讨论】:

  • 我通过使用 javascript 控制台来实现这一点。我还注意到 React.addons.Perf.printWasted() 在尚未收集任何测量值时会引发该错误
  • 如果您已经解决了自己的问题,您应该发布您的问题的答案并接受它,以便其他人可以很容易地知道它已经解决了。
  • 我认为这是 React.addons.Perf 类的问题。从 0.13 开始,该类在未进行任何测量时会抛出 TypeError。更“人类可读”的方式是显示“尚无可用测量值”之类的警告消息。

标签: javascript reactjs


【解决方案1】:

我知道这个问题很老了 - 但如果有人在这里(就像我一样)在这里,你现在应该这样做..

你单独导入你想要的 react 插件

import Perf from 'react-addons-perf'

然后你可以用它做任何你想做的事情.. 示例:将其分配给窗口对象,以便您可以在控制台中使用它。

window.Perf = Perf

【讨论】:

  • 这对我有帮助:componentDidMount() { window.Perf = Perf; }
  • 这对我不起作用。我正在这样做,我的对象只有:{enableMeasure:false,injection:Object},没有别的。我可以启动或停止它。有什么想法吗?
  • @jamesemanon 我得到了完全相同的错误,如果你弄清楚了可以告诉我吗?我也会这样做
  • @jamesemanon 这为我排序:github.com/facebook/react/issues/6174#issuecomment-230569698 版本的reactreact-addons-perf 需要相同
【解决方案2】:

我在要开始分析的渲染函数中调用 Perf.start() 时遇到了同样的错误,这似乎是一个时间问题,所以我只是在渲染任何内容之前开始记录 perf,然后调用我的打印函数我想看看发生了什么(伪代码):

在 app.js 中:

//var React = require('react'); // DONOTCHECKIN
var React = require('react/addons');
// ...

function run() {
  // DONOTCHECKIN
  window.Perf = React.addons.Perf; // save for later console calls
  React.addons.Perf.start();
  // ...

然后在控制台中我可以调用:

Perf.printWasted()

希望这会有所帮助。

【讨论】:

  • 你能发布一个关于你如何分析 reactjs 的 gist/github 链接吗?这对我有帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-03-16
  • 2016-07-14
  • 2023-03-07
  • 1970-01-01
  • 2020-07-18
  • 1970-01-01
  • 2019-09-11
相关资源
最近更新 更多