useState - 传递泛型参数
useState本身是一个泛型函数,可以传入具体的自定义类型。
例如:
1)限制useState函数参数的初始值必须满足类型:User 、或者一个返回User类型的函数。
2)限制 setUser函数的参数必须满足类型:User 、或者一个返回User类型的函数、或者undefined。
3)user状态数据具备User类型相关的类型提示。
示例
例如,useState的初始值传递的对象相比User类型少了一个字段,有出错提示:
当两个类型都有了的时候,就不报红色的出错提示了:
传递给useState的初始值也可以是一个函数,返回返回一个User类型的对象:
限制setUser函数参数的类型,可以传入一个User类型的对象:
限制setUser函数参数的类型,也可以是一个函数,函数返回一个User类型的对象:
setUser函数传入的参数可以是undefined,但这种情况不常见:
使用user的时候,具有User类型的提示: