首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >高阶组件始终忽略shouldComponentUpdate而重新呈现

高阶组件始终忽略shouldComponentUpdate而重新呈现
EN

Stack Overflow用户
提问于 2016-08-19 13:37:37
回答 4查看 2.9K关注 0票数 3

我有一个像这样的高阶分量

代码语言:javascript
复制
// higherOrderComponent.js
const HigherOrderComponent = Component => class extends React.Component {
  shouldComponentUpdate (nextProps, nextState) {
    return false
  }

  render () {
    return <Component {...this.props} />
  }
}

export default HigherOrderComponent

// myComponent.js
import HigherOrderComponent from './higherOrderComponent'

class MyComponent extends React.Component {
  render () {
    return <div>my component</div>
  }
}

export default HigherOrderComponent(MyComponent)

// parentComponent.js
import MyComponent from './myComponent'

class ParentComponent extends React.Component {
  render () {
    return <MyComponent />
  }
}

我显式返回false,但组件总是被重新呈现。知道为什么吗?我最终想要跨组件共享"shouldComponentUpdate“。如果高阶组件不起作用,我该如何实现?

EN

Stack Overflow用户

发布于 2016-08-19 13:54:32

它是关于react组件的生命周期的。当一个组件被初始化时,它不会检查shouldComponentUpdate。仅当状态/属性发生更改时,才会调用ShouldComponentUpdate。

仅供参考,生命周期方法按顺序调用:

组件初始化时的渲染: getDefaultProps getInitialStage componentWillMount render componentDidMount

组件状态更改时的渲染: shouldComponentUpdate componentWillUpdate render componentDidUpdate

当组件的道具发生更改时渲染: componentWillReceiveProps shouldComponentUpdate componentWillUpdate render componentDidUpdate

卸载组件时的 componentWillUnmount

票数 0
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39031781

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档