React-TS学习

TS我认为的定义

ts就是一个用于代码检查的工具,以避免在浏览器中运行后才出现错误,并且并不是很容易进行追踪

在代码顶部设置说明

interface SearchPanelProps{
  users:User[],
  param:{
    name:string;
    personId:string;
  },
  setParam:(param:SearchPanelProps['param'])=>void;
}

在函数中应用适当的类型说明

export const SearchPanel = ({users,param,setParam}:SearchPanelProps) => {}

检查代码中的出错项,并进行更改

在这里插入图片描述

使引入的js包具备ts功能

在这里插入图片描述
安装@types/qs

npm i --save-dev @types/qs

这时候node_modules中就有了翻译后的ts文件了
在这里插入图片描述

TS类型

number,string,boolean,函数,array,any,void,object,tuple,enum,null,undefined,unknown,never,interface
tuple: “数量固定,类型可以各异”版的数组
unknown: unknown是一个 "严格"版的 any 传入什么都可以 但是使用的时候就有限制了,比如不能点没有的属性,不能复制给任何人
never: 在这里插入图片描述
在这里插入图片描述

泛型

传入什么类型就导出什么类型
先定义占位符:将传入参数与返回参数绑定在一起

export const useDebounce = <V>(value:V,delay?:number) => {
    console.log(value);
  const [debouncedValue, setDebouncedValue] = useState(value)

  useEffect(() => {
    // 每次在value变化以后,设置一个定时器
    const timeout = setTimeout(() => setDebouncedValue(value), delay);
    // 每次在上一个useEffect处理完以后再运行
    return () => clearTimeout(timeout);
  }, [value, delay]);

  return debouncedValue;
};

自定义setArray

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值