前端与 HTML | 青训营笔记

46 阅读2分钟

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

1.reacrt的历史应用

前端开发,移动端开发,桌面应用开法 私货:3D模型

shp组合式的组件思想 faxjs是react的原型 如今react生态大爆发

2.设计思路

UI编程的痛点:状态更新,但是UI不会自动更新。需要DOM手动更新 欠缺代码层面的封装和隔离,没有组件化 数据相互依赖,需要手动维护 react就是为了解决以上的问题 组件化: 组件的组合,内部有自己的状态,外部不可见,父状态可以给子。

react是单向数据流

3.hooks的写法

effectHooks让我们可以在函数组件内使用生命周期方法,我们可以在这里更新DOM,获取数据等具有'副作用'的行为。effect Hook会在组件每次render后执行,ruturn的函数会在组件卸载时执行,若要让effect hook只在组件首次加载时执行,可以传入一个空数组作为第二个参数,也可以在数组中指定依赖项,只有依赖项改变时,effectHooks才会执行。 setState定义在React.Component中,但是React包中只是定义API,并没有具体实现逻辑。类似的还有createContext()等大多数功能都是在‘渲染器’中实现的。react-dom、react-dom/server、 react-native、 react-test-renderer、 react-art都是常见的渲染器。所以我们在使用react新特性的时候,react和react-dom都需要更新。

4.react的实现

jsx不符合js的语法 返回jsx,更新dom virtual dom 如何diff 更新次数最少,遍历的更少

5.react状态管理库

状态共享 redux xstate mobx recoil

6.框架科普

本质是一个js libiary nextjs modernjs