react

课程目标

  • 掌握React其他 API 使用:PureComponent、ref、children、dangerouslySetInnerHTML、key
  • 掌握函数式组件及常见 hooks 的使用
  • 可以独立开发基于Hooks 或 Component 的 todoList 应用

课程内容

PureComponent

PureComponent 提供了一个具有浅比较的 shouldComponentUpdate 方法,其他和 Component 完全一直

ref

  • 旧版 - string ref
  • 主流 - createRef()
  • 注意:在 组件挂载完成之后及更新之后使用

children

  • 组件标签对之间的内容会被当做一个特殊的属性 props.children 传入组件内容
  • 可以自定义结构的组件的常用形式
    • children
    • 传递函数
    • 传递子组件

dangerouslySetInnerHTML

直接设置标签的 innerHTML

key 的问题

在 React ,组件每次更新时,会生成一个 虚拟DOM,和原有的虚拟DOM进行对比。
如果是批量生成的一组元素,那React就会根据 key 值去做对比

一个列表中的每一项 key 是唯一的
如果列表中发生顺序等操作变化,key 一定要用数据的id

实战 - 完整todoList

函数式组件

函数式组件中,没有 state 和 生命周期,所以又被称为 无状态组件,在早期 react 版本中,被当前纯渲染组件来用

React hooks

React hooks 是React 16.8中的新增功能。它们使您无需编写类即可使用状态和其他React功能
参考:https://reactjs.org/docs/hooks-intro.html

React Hooks 优势

  • 简化组件逻辑
  • 复用状态逻辑
  • 无需使用类组件编写

常用 hook

  • useState
    const [state, setState] = useState(initialState);
  • useEffect
    类组件
    componentDidMount、componentDidUpdate 和 componentWillUnmount
    需要清除的副作用
  • useRef

Hook 使用规则

  • 只在最顶层使用 Hook
  • 只在 React 函数中调用 Hook
    • React 函数组件中
    • React Hook 中 - 我自己定义 hook 时,可以调用别的hook
  • 所有的 hook 必须 以 use
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • React-1 课程内容 React 是什么? 一个用于构建用户界面的 JavaScript 库 命令式编程 和 ...
    lucky_yao阅读 627评论 0 1
  • 很多教程都把 React 作为一个 UI 库来引入。这是很有道理的,因为 React 本身就是一个 UI 库。就像...
    京程一灯阅读 1,590评论 0 2
  • 前言 本文全面介绍了React Hooks的所有API概念、用法、丰富的demo以及部分底层原理。 实际上,Rea...
    南宫__阅读 3,753评论 0 6
  • > 本文重点:介绍React重构的起因和目的,理解Fiber tree单向链表结构中各属性含义,梳理调度过程和核心...
    intopiece_槟阅读 1,463评论 0 0
  • 今天的React题没有太多的故事…… 半个月前出了248个Vue的知识点,受到很多朋友的关注,都强烈要求再出多些R...
    浪子神剑阅读 10,218评论 6 106

友情链接更多精彩内容