项目学习笔记
1. async 用于定义一个异步函数,await 用于等待一个异步操作完成;
async的返回值是一个Promise函数,要处理这个promise对象,我们需要使用.then链
2. react中的Fragment作用
fragment是react中的一个组件,作用是代替div作为外层,可做不可见的包裹元素。
定义组件的时,return返回需要唯一根元素,所以经常会写一个div来包裹,但如果不想渲染这个div,减少dom渲染,就可以引用Fragment组件。
//外部变量声明 declare var a: boolean; declare let b: boolean; declare const c: boolean; // 外部函数声明 declare function f(a: string, b: boolean): void; // 外部枚举声明 declare enum Foo { A, B, } //外部模块声明的语法 declare module 'io' { export function readFile(filename: string): string; }
4.react--useMemo用法
在vue使用中,我们可以使用computed来进行缓存,但是在react中,没有computed这个计算属性,但是有一个和computed计算属性同等作用的hooks useMemo;
语法:
const menoizeValue = useMemo(callback,dependencies);
其中callback是一个函数,用于计算和返回需要记忆的值,dependencies是一个数组,表示依赖项。当依赖项发生变化时,callback函数会重新执行以计算新的值。
useMemo的作用是在依赖项发生变化时,仅在需要时重新计算值,并且将之前计算的值缓存起来,避免不必要的重复计算。
使用场景:
优化某些昂贵的计算或者是处理大量数据的操作。
5.void操作符
作用:
· 通过采用void 0取undefined比采用字面上的undefined更靠谱更安全,应该优先采用void 0这种方式。
· 填充<a>的href确保点击时不会产生页面跳转;填充<image>的src,确保不会向服务器发出垃圾请求。
运算原理:执行表达式,不返回任何结果。
常用于将一个链接变成死链;(即保留超链接的样式,用户点击该超链接的时候执行一段js代码3.页面不能跳转;)
总结:void运算符 主要用于阻止浏览器对点击事件的默认行为。在实际开发中,可以更好地使用`event.preventDefault()`方法来达到相同的效果。void运算符的使用情况较为有限,一般用于特殊需求时的处理。
6.react中useRef
作用:长久保存数据
注意事项:
· 返回一个子元素索引,此索引在整个声明周期中保持不变;
· 对象发生改变,不通知。属性变更不重新渲染;
也就是说,对useRef设定的值进行重新赋值,是不会引发组件的重新渲染的(重点),所以useRef常用来设置查询参数等一些不需要在页面进行渲染的数据;
~~用useRef设定的值改变 是不会引发组件重新渲染的,useState才会。