reactjs - 如果 props 相等,为什么组件会重新渲染

标签 reactjs

我创建了一个简单的 React 应用程序并使用 why-did-you-update 库检查了应用程序是否重新渲染,它显示了不必要的重新渲染以及如何防止这些重新渲染?

最佳答案

如果组件的 props 改变,或者如果它们的父组件被重新渲染,组件将被重新渲染。您可能已经更新了父组件的 Prop 或状态。 React 提供了一个名为 shouldComponentUpdate 的生命周期函数来处理不必要的渲染。如果你为你的 Prop ​​使用不可变数据,那么实现起来会更快更容易,因为你可以简单地在新 Prop 和旧 Prop 之间进行相等性检查,看看是否有任何变化。参见 https://facebook.github.io/react/docs/component-specs.html#updating-shouldcomponentupdatehttps://facebook.github.io/react/docs/pure-render-mixin.html

关于reactjs - 如果 props 相等,为什么组件会重新渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39752933/

相关文章:

javascript - 在 React/Redux 中插入对象时如何避免 'two children with the same key' 警告

reactjs - GKE 上的单个 LoadBalancer 中的多个 React 应用程序

javascript - 如何从 GraphQL 查询结果中的字符串中删除 <br> 标签

reactjs - AWS Route53 子域重定向设计

javascript - React Redux 状态数组更改不会重新渲染组件

reactjs - 有没有办法在 MockedProvider - Apollo Client 中模拟 refetch?

javascript - 如何测试 react-saga axios post

javascript - tweenMax.to 在 React componentDidMount 中不起作用

javascript - 强制react-router应用程序向服务器发送URL请求

javascript - 基于refs的动画在componentDidUpdate中调用setState