Performance 如何使性能在React Native上工作?

Performance 如何使性能在React Native上工作?,performance,reactjs,react-native,Performance,Reactjs,React Native,当前在React Native上运行Perf会产生错误,包似乎依赖于DOM 但是在React Native docs中仍然提到了它? 我至少没有成功运行它。您是否尝试通过单击“显示性能监视器”在“开发”菜单中启用性能监视器 是的,我发现了类似的问题,在我看来,react addons perf仅适用于react,对于react native项目,您可以使用RCTRenderingPerf这是react native库中的内置工具。我的react本机版本是“^0.45.1”“react本机”:

当前在React Native上运行Perf会产生错误,包似乎依赖于DOM

但是在React Native docs中仍然提到了它?


我至少没有成功运行它。

您是否尝试通过单击“显示性能监视器”在“开发”菜单中启用性能监视器


是的,我发现了类似的问题,在我看来,
react addons perf
仅适用于
react
,对于
react native
项目,您可以使用
RCTRenderingPerf
这是
react native
库中的内置工具。我的react本机版本是“^0.45.1”“react本机”:

从'react native/Libraries/Performance/RCTRenderingPerf'导入PerfMonitor

开始测量

PerfMonitor.toggle();
PerfMonitor.start();
停止测量并打印结果

PerfMonitor.stop();
您不需要显式调用print方法来打印结果,
stop()
已经介绍了这一点

您可以通过运行以下命令进行验证:

...
  _setIndex(idx){
    PerfMonitor.toggle();
    PerfMonitor.start();
    this.setState({index:idx})
  }

  componentDidUpdate(){
    PerfMonitor.stop();
  }

  render() {
    return (
      <View style={styles.container}>
        <Text>Welcome to react-native {helloWorld()}</Text>
        <Text>Open up App.js to start working on your app!</Text>
        <Text>Changes you make will automatically reload.</Text>
        <Text>Shake your phone to open the developer menu.</Text>
        <Button title="click me to see profiling in console log" onPress={()=> this._setIndex(2)}/>
      </View>
    );
  }
...
。。。
_设置索引(idx){
PerfMonitor.toggle();
PerfMonitor.start();
this.setState({index:idx})
}
componentDidUpdate(){
PerfMonitor.stop();
}
render(){
返回(
欢迎使用react native{helloWorld()}
打开App.js开始使用你的应用程序!
您所做的更改将自动重新加载。
摇动手机以打开开发者菜单。
这个。_setIndex(2)}/>
);
}
...

确保
remotedebug JS
处于启用状态,然后您可以在chrome控制台上看到结果。

不过我会添加一个警告:确保只调用一次
PerfMonitor.toggle()
。我将其称为
\u setIndex
@AmauryLiet之外这是一个非常好的观点。您可以将
PerfMonitor.toggle()
放入
componentWillMount()