- 博客(5)
- 收藏
- 关注
原创 React面试题
表单的值受state控制需要自行监听onChange事件更新state对比非受控组件纯函数是指输入相同,输出也必定相同并且没有副作用的函数。不会修改外部状态的值。重点:不可变值。
2024-03-01 14:13:30
1033
原创 Hooks相关面试题
componentWillUnMount -- useEffect中返回一个函数fn,下一次执行useEffect之前,就会执行fn,无论更新或卸载。之后的re-render都是读取state的值。子组件就会重新渲染。则每次重新渲染的props都是不同的。跳过组件的重新渲染:默认情况下,当一个组件重新渲染时,react会递归渲染它的所。有子组件,如果子组件包裹在memo中,并且当props和上次渲染相同时,子组件会。在一次渲染中state的值不会改变。设置state只会为下一渲染变更state的值。
2024-02-28 16:19:31
727
原创 使用hooks需要注意的问题
2.useState初始化只会执行一次。之后的re-render都是读取state的值。如果state是根据props来创建的。当props改变时,并不会自动修改state的值。3.state是一个快照。在一次渲染中state的值不会改变。无论是在事件处理函数中还是effect中,或者是定时器中。设置state只会为下一渲染变更state的值。因为hooks每次重新执行都会创建一个新的引用类型。会使Effect比需要的更频繁地重新同步,甚至导致死循环。1.useEffect依赖最好不要是引用类型。
2024-02-28 10:37:57
199
原创 vite为什么会启动非常快
启动快:借助浏览器对esm的支持:不需要打包全部的依赖,让浏览器接管打包的工作。只需要在浏览器请求源码的时进行转换并按需提供源码。(不需要分析依赖,不需要编译)打包器则是根据依赖关系打包构建整个应用之后,才提供服务,启动开发服务器。使用esbuild预构建依赖,esbuild使用go编写。把多个esm模块转换为单个模块。热更新快:当一个模块更新时,只需要重新加载这个模块。而打包器还需要把这个模块的相关依赖全部重新编译。开发环境使用ES6 Module,无需打包——非常快。开发环境无需打包,启动非常快。
2024-02-26 15:31:36
211
1
原创 vue3为什么比vue2快
把静态节点定义到父作用域存起来。不用每次渲染重新定义。模板中需要的内容才会import进来。编译模板时,动态节点做标记。使用位运算来检查更新。
2024-02-22 10:08:18
277
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人