【问题标题】:Does the size of props affect the react component performance?props 的大小会影响 React 组件的性能吗?
【发布时间】:2020-07-30 16:29:42
【问题描述】:

我有一个父组件,它通过路由(通过history.push)接收一些数据(一个大对象),现在我必须将该数据发送到两个子组件。 现在我可以将该大对象发送到两个子组件并在各自的子组件中进行两次计算(彼此独立),或者我可以在父组件中进行两次计算,然后将计算值发送到子组件,从而减小道具。 小道具(大小)是否会带来任何性能优势(无论我当前的情况如何)?

是否有任何测试库可以测量和量化两种场景下的性能,例如快速渲染、低内存消耗等?

【问题讨论】:

  • 我不认为这有什么不同,因为道具,无论大小,都作为参考传递给子组件,而不是作为副本
  • 大多数浏览器都内置了开发工具,可以进行各种性能审计和记录。尝试熟悉它们。

标签: javascript reactjs react-native jsx


【解决方案1】:

我会说;您在父组件中拥有的大对象位于heap(javascript 的内存,有点)中的某个位置,它存在于那里,占用了内存空间;当您将它传递给孩子时,您可能会传递它的参考;子组件将在heap中与父组件相同的位置进行计算;

如果是微服务,我们可以考虑,因为服务不使用共享内存,只通过消息传递进行通信,因此服务之间的消息大小实际上会增加另一个服务的计算时间,但是一个 javascript 应用程序(即react 应用程序)是一个整体架构,程序的每个部分都有一个共享内存可用;因此它没有意义;因为您的应用程序有一些必要的复杂性来完成其工作(包括内存和时间消耗)。因此,如果该计算是必要的,那么无论您在哪里进行计算,无论是在父母还是在孩子身上,都必须在一天结束时的某个地方进行;您不想一遍又一遍地进行相同的计算,从而造成冗余和浪费资源;例如,如果你应该做10 必要的计算,你可以像10 + 02 + 85 + 5 那样做。您可以将其分块,但最终;只有十个。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-02
    • 1970-01-01
    • 2014-07-13
    • 1970-01-01
    相关资源
    最近更新 更多