这是我参与「第五届青训营 」伴学笔记创作活动的第 7 天
react的历史与应用
react不是一个框架,而是library for javascript
react的设计思路
ui编程的痛点
1、状态更新,ui并不会自动更新,需要手动更新
2.欠缺代码的封装和隔离
3.如果数据依赖过多,链路过长,在回调的时候就容易遇到回调地狱的问题
响应式与转化式
转化式系统:给定输入求解输出 响应式系统:监听事件,消息驱动
组件化
1.DOM树不是js的元素,而是浏览器去维护的东西
2.总结:
组件是组件的组合
组件内拥有状态,外部不可见
父组件可将状态传入子组件内部
3.如果想让两个节点共享状态,那么,这个状态应该归属于两个节点向上寻找到最近的祖宗节点;当你遇到需要同时获取多个子组件数据,或者两个组件之间需要相互通讯的情况时,需要把子组件的 state 数据提升至其共同的父组件当中保存。之后父组件可以通过 props 将状态数据传递到子组件当中。这样应用当中所有组件的状态数据就能够更方便地同步共享了
4.react时是单向数据流,永远是父组件向子组件传东西,子组件是不能向父组件传东西的。但是可以通过父组件向子组件传递一个函数,子组件去实现这个函数来改变父组件的状态
5.组件设计
组件声明了状态和ui(即状态和UI的函数关系)
组件有私有状态和开放接口外部传值的两种状态
组件可以由其他组件拼接而成
声明周期
组件最关键的三个生命周期就是挂载的时候、更新的时候、挂载结束的时候