项目学习笔记

1. async 用于定义一个异步函数,await 用于等待一个异步操作完成;

    async的返回值是一个Promise函数,要处理这个promise对象,我们需要使用.then链  

 2. react中的Fragment作用 

fragment是react中的一个组件,作用是代替div作为外层,可做不可见的包裹元素。

     定义组件的时,return返回需要唯一根元素,所以经常会写一个div来包裹,但如果不想渲染这个div,减少dom渲染,就可以引用Fragment组件。

3.TS声明文件和关键字declare;
‘.d.ts’文件是类型声明文件,其中字母'd'表示“declaration”,即声明的意思。‘.d.ts’文件只提供类型声明,不提供任何值,如字符串和函数实现等。因此,在编译TS程序的过程中,'.d.ts'文件不会对应的
‘.js’文件。
我们可以将'.d.ts'文件称作外部声明文件或简称为声明文件。声明文件中的内容是外部声明。外部声明用于已有代码提供静态类型信息以供ts编译器使用。
外部声明也可以出现在'.ts'文件中,我们只需明确外部声明是类型声明而不是具体实现,外部声明在编译后不会输出任何可执行代码即可。
外部声明通过declare关键字来定义,包含外部变量声明、外部函数声明、外部类声明、外部枚举声明和外部命名空间声明。
//外部变量声明
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才会。

 

posted @ 2023-08-01 17:09  白日梦想家er  阅读(7)  评论(0编辑  收藏  举报