最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • React学习知识点之组件

    正文概述 掘金(馨迤Sine)   2021-08-22   491

    这是我参与8月更文挑战的第16天,活动详情查看:8月更文挑战。

    组件

    是否受控

    • 非受控组件

      表单数据交由DOM节点管理,特点是表单数据在需要时要进行获取,不能实时获取,代码实现比较简单

    • 受控组件

      表单数据交由state对象管理,特点是可以实时得到表单时数据,代码相对复杂

    React Hook

    路由Hooks react-router-dom

    • useHistory

    • useLocation

    • useRouteMatch

    • useParams

    钩子函数

    useState
    • 通过闭包实现保存数据(一般函数执行完成后变量就会被释放掉)

    • 状态每次更新时DOM都会重新渲染

    useEffect
    • 替换componentDidmount、componentDidUpdate、componentWillUnmount生命周期

    • useEffect(()=>{}) 等于 componentDidmount、componentDidUpdate。会在组件挂载结束后执行、会在组件更新完成后执行

    • useEffect(()=>{},[]) 等于 componentDidmount

    • useEffect(()=>()=>{}) 等于 componentWillUnmount。会在组件卸载前执行

    • 只有指定数据发生变化后才会触发Effect:useEffect(()=>{console.log(count)},[count])

    • useEffect中的参数函数不能是异步函数,因为useEffect函数要返回清理资源的函数,如果是异步函数就变成了返回Promise,可以在内部使用自执行函数

    标记: useEffect(()=>{ (async ()=>{ await axios.get() } )() })

    useMemo

    会缓存计算结果,如果检测值没有发生变化,即使组件重新渲染,也不会重新计算,计算行为可以有助于避免在每个渲染上执行昂贵的计算

    主要用于性能优化,如果本组件中的数据没有发生变化,则阻止组件更新,类似于类组件中的PureComponent和shouldComponentUpdate

    useCallback

    主要用于性能优化,缓存函数,使组件重新渲染时得到相同的函数实例

    useRef
    • 用来获取DOM元素对象

    • 用来保存数据,当组件重新渲染后数据不会丢失

    自定义Hook
    • 可以实现组件与组件之间的逻辑共享

    • 是一个函数,以use开头

    • 是逻辑与内置Hook的组合

    生命周期

    挂载阶段
    • constructor()

    • static getDerivedStateFromProps()

    • render()

    • componentDidMount()

    更新阶段
    • static getDerivedStateFromProps()

    • shouldComponentUpdate()

    • render()

    • getSnapshotBeforeUpdate():在最近一次渲染输出之前调用,使组件能在发生更改之前从DOM中捕获一些信息,如:滚动位置,此声生命周期的任何返回值将作为参数传递给componentDidUpdate()

    • componentDidUpdate()

    卸载阶段
    • componentWillUnmount()

    起源地下载网 » React学习知识点之组件

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元