props 的大小会影响 React 组件的性能吗?

Sau*_*wal 2 javascript jsx reactjs react-native

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

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

Mhm*_*z_A 5

我会说“不”;父组件中的大对象位于heap(javascript 的内存,有点)中的某个位置,并且它存在于那里,占用内存空间;当你把它传给孩子时,你可能会传递它的参考;heap子组件将在父组件的同一位置进行计算;

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