灰灰徽 2022-08-05 16:35 采纳率: 100%
浏览 18
已结题

React 高阶组件、Render props、hooks 有什么区别,为什么要不断迭代?

React 高阶组件、Render props、hooks 有什么区别,为什么要不断迭代?
  • 写回答

1条回答 默认 最新

  • 雾里桃花 2022-08-05 16:42
    关注

    1.高阶组件(HOC)是React中复用组件的一种高级技巧,高阶组件是一个函数,传入一个组件返回一个新组件,并且是一个纯函数没有副作用
    2.render props 用于使用一个值为函数的 prop 在 React 组件之间的代码共享 简单来说就是是一个用于告知组件需要渲染什么内容的函数 prop
    3.Hooks是一个新的React特性提案,组件尽量写成纯函数,如果需要外部React特性(比如状态管理,生命周期),就用钩子把外部特性"钩"进来,通常函数名字都是以use开头。首次在v16.7.0-alpha版本中添加,在v16.8.0中正式发布。
    至于为什么要不断迭代,react中高阶组件和 Render props 都有各自的缺陷,如高阶组件的 props 重名问题 render props无法在return外访问数据等...,迭代就是为了解决以上问题,让react变得越来越完善

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 8月13日
  • 已采纳回答 8月5日
  • 修改了问题 8月5日
  • 创建了问题 8月5日