防止子级在更新父级状态时重新渲染,使用父级方法作为本机反应的道具
Posted
技术标签:
【中文标题】防止子级在更新父级状态时重新渲染,使用父级方法作为本机反应的道具【英文标题】:Prevent child from rerender when it updates parents state using parent method as prop in react native 【发布时间】:2020-06-28 12:39:35 【问题描述】:我有一个父组件和两个子组件。所以我想在第一个组件中执行某些操作时更新第二个组件。假设我有 Component1 和 Component2,还有一个 ParentComponent,所以当我从 Component1 更改 ParentComponent 的状态时,它会更改 Component2 中的状态,但也会重新渲染 component1。我不想重新渲染组件 1。尝试使用回调但没有帮助。
【问题讨论】:
【参考方案1】:您可以使用memo
来处理这种情况:
const MyComponent = React.memo(function MyComponent(props)
/* only rerenders if props change */
);
此类组件只有在其自身的状态或道具发生变化时才会重新渲染。
【讨论】:
我已经尝试过了,但它仍然会重新渲染子组件 1,因为它找到了将父组件的状态更改为更新的道具的功能。你能告诉我应该怎么做才能防止这种情况发生吗?以上是关于防止子级在更新父级状态时重新渲染,使用父级方法作为本机反应的道具的主要内容,如果未能解决你的问题,请参考以下文章