react初探1|青训营笔记

76 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第6天。

一、本堂课重点内容

  1. react的历史与应用
  2. react的设计思路

二、详细知识点介绍

1. react简介

react是在2013年由Facebook推出的开源框架,带来了全新的函数式编程风格。

  • react(官网地址:reactjs.org)官方文档如下图所示:

image.png

2. react设计思路

  1. UI编程的痛点
  • 状态更新,UI不会自动更新,需要手动地调用DOM进行更新;
  • 欠缺基本的代码层面的封装和隔离,代码层面没有组件化;
  • UI之间的数据依赖关系需要手动维护,如果以来链路长,则会遇到“Callback Hell”。
  1. 转换式系统与响应式系统
  • 转换式系统:给定输入求解输出,相当于编译器;
  • 响应式系统:监听事件,消息驱动,从而状态变更。
  1. 响应式编程特点
  • 状态更新,UI自动更新;
  • 前端代码组件化,可复用,可封装;
  • 状态之间相互依赖关系只需声明即可。
  1. react设计——例子分析——组件化
  • 对以下页面可以拆分为“顶栏”“橱窗”“型号”“颜色”这四个组件块,如下所示:

image.png

  • 总结如下:
    • 组件是组件的组合;
    • 组件内拥有状态,外部不可见;
    • 父组件可将状态传入子组件;
  1. react设计——例子分析——状态归属问题
  • 在上述例子中,价格会因为型号选择不同而不同,价格在“顶栏”组件显示,但会因“型号”组件变化,故价格的状态归属于这两个组件节点向上的最近的父结点。
  • 价格的改变是子组件调用父组件的函数,再改变价格状态。
  • react是单向数据流。
  1. react设计——组件设计
  • 组件声明了状态和UI的映射;
  • 组件有Props(接受外部的Props状态)和State(私有状态)两种状态,根据当前的State/Props返回一个UI;
  • “组件”可由其他组件拼装而成。

课后个人总结

通过本次学习,我学到了react的发展历史及其创建思想,它相对于传统的UI设计有了新的改进,启用响应式编程,带来了更大的优势。并且学习了react的设计思路,了解了它的构建过程及重点因素。