Reactjs Can React.UseMoom第二个参数数组是否包含对象?

Reactjs Can React.UseMoom第二个参数数组是否包含对象?,reactjs,Reactjs,Can React.UseMoom第二个参数数组是否包含对象 我问这个问题是因为我有一个基于对象值的昂贵计算 我不知道应该展开对象,还是只是将对象传递到该数组中。可以使用对象作为第二个参数。但这取决于对象的行为。如果每次受影响的值发生更改时都会有此对象的新实例,React.useMemo将能够检测到更改。由于React.useMemo仅在对象的情况下进行实例比较,因此如果实例保持不变,则不会检测该对象内的更改。如果实例的更改比受影响的属性更频繁,那么最好只提取所需的属性并单独移交它们。这将确保仅

Can React.UseMoom第二个参数数组是否包含对象

我问这个问题是因为我有一个基于对象值的昂贵计算


我不知道应该展开对象,还是只是将对象传递到该数组中。

可以使用对象作为第二个参数。但这取决于对象的行为。如果每次受影响的值发生更改时都会有此对象的新实例,
React.useMemo
将能够检测到更改。由于
React.useMemo
仅在对象的情况下进行实例比较,因此如果实例保持不变,则不会检测该对象内的更改。如果实例的更改比受影响的属性更频繁,那么最好只提取所需的属性并单独移交它们。这将确保仅在需要时才进行计算。

可以,但原因是什么。第二个对象的值更改的频率如何?如果它在组件的生命周期中从不改变,那么它可以更好地嵌入到对象值中。如果需要对数组中的第二个对象的变化值进行优化计算,我只会传递该对象。