[英]React props received by component but not updating in JSX
因此,这是一个有趣的过程。 这是代码片段。 这是一个纯粹的功能组件,我正在传递一个对象,我们将通过props调用someData。
首次使用默认的someData对象渲染组件时,将记录BASICINFO RETURN之前的返回值。 然后,使用默认的someData对象再次记录'BASICINFO AFTER RETURN'。 当父组件的状态更新时,BASICINFO RETURN日志显示更新后的数据,但是我没有得到BASICINFO AFTER RETURN日志,显示更新后的道具。 好像它没有意识到道具更新。 有人知道是什么原因造成的吗?
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>
)
}
是否有可能因为显示的数据实际上没有不同而没有重新渲染组件? 即:如果basicInfo.personalSummary更改,组件是否会重新渲染?
如果显示的数据正在更改并且没有重新呈现,您确定状态没有发生突变吗?
是的,事实证明我在改变状态。 我正在处理嵌套在几层深处的对象。 最终弄平了状态,只是保存了我真正需要的东西。 首先应该做到这一点。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.