Javascript React将PureComponent包装在HOC中
我对react中的PureComponent有一个问题。如您所知,它在长平面列表中非常有用,可以避免不必要的重新渲染。但是,如果我将一个PureComponent封装在一个HOC中,会发生什么呢Javascript React将PureComponent包装在HOC中,javascript,reactjs,react-native,Javascript,Reactjs,React Native,我对react中的PureComponent有一个问题。如您所知,它在长平面列表中非常有用,可以避免不必要的重新渲染。但是,如果我将一个PureComponent封装在一个HOC中,会发生什么呢 const CachedImage = withCache( class CachedImage extends React.PureComponent { render() { console.log("Rendering"); return &
const CachedImage = withCache(
class CachedImage extends React.PureComponent {
render() {
console.log("Rendering");
return <Image {...this.props} />;
}
}
);
Component
和PureComponent
之间唯一的区别在于PureComponent
不实现shouldComponentUpdate()
,但PureComponent
通过一个浅层的属性和状态比较来实现它
这意味着它对你的道具做了一个简单的浅层比较,这个比较要快得多,但是需要简单的对象作为道具传递,这样它才能正常工作。因此,不仅仅是扩展PureComponent
,这会给您带来不必要的重新渲染,您还必须考虑您的道具与该组件的比较是否正确
您可以阅读有关PureComponent
的更多信息,以及一些有关浅层比较实际工作原理的信息
const withCache = (Component) => {
const Wrapped = (props) => {
...