所以这是一个有趣的故事。这是一段代码。这是一个纯功能组件,我正在传递一个对象,我们将通过props调用一些数据。
返回之前的Basic信息在第一次使用默认SOMeDATA对象呈现时记录。返回后,basicinfo将使用默认的somedata对象再次记录。当父组件的状态更新时,basicinfo在返回之前会显示更新的数据,但是我不会在返回之后得到日志basicinfo,显示我所期望的更新的道具。好像它不知道道具的更新。有人知道这是什么原因吗?
export function MyComponent({someData}: MyComponentProps) {
console.log('BASICINFO BEFORE RETURN', someData.basicInfo);
return (
<Flex>
{console.log('BASICINFO AFTER RETURN', someData.basicInfo)}
<Box>
<p>
{someData.basicInfo.personalSummary}
</p>
</Box>
)
}
最佳答案
是否有可能由于显示的数据实际上没有任何不同而导致组件没有重新呈现?IE:如果BaseCiFo.PrimalCype更改,组件是否重新渲染?
如果显示的数据正在更改而不是呈现,是否确定状态没有发生变化?