当前位置: 首页> 房产> 政策 > react重新渲染以及避免不必要的渲染

react重新渲染以及避免不必要的渲染

时间:2025/7/18 7:23:13来源:https://blog.csdn.net/weixin_47808575/article/details/140203910 浏览次数:0次

触发react重新渲染

类组件触发重新渲染

1、setState

2、context

3、props

4、forceUpdate

函数式组件重新渲染

1、useState

2、props

避免不必要的渲染

类组件避免不必要的渲染

1、React.PureComponent/shouldComponentUpdate

函数式组件避免不必要的渲染

1、React.memo

2、useMemo(缓存变量)

3、useCallback(缓存函数)

context在类组件和函数式组件中的使用

创建context对象

import { createContext } from 'react'
const contextObj = createContext()
const { Provider, Consumer } = context

注入数据

function APP() {.........return (<provide value={name: 'xiaoliu'}><div></div></Provide>)
}
类组件
class Son2 extends Component {static contextType = contextrender() {const { name } = this.contextreturn (<>我是Son,我拿到的数据是:{name}</>)}
}
函数式组件

1、通过Consume拿到数据

const Son1 = () => {return (<Consumer>{({ name }) => (<div>我是Son,我拿到的数据是:{name}</div>)}</Consumer>)
}

2、 通过useContext 方式

const Son3 = () => {const { name } = useContext(context)return (<div>我是Son1,我拿到的数据是:{name}</div>)
}

关键字:react重新渲染以及避免不必要的渲染

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: