请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

ts 类型

老师你好,我这里将默认值解构后就不报错,不解构直接传入就报错,报错提示说
这里state<null>不能赋给 state<D>, 但是 state 里面 的 data 和 error 都是包括 null 的 联合类型啊,
为什么解构之后就可以赋值啊图片描述图片描述

正在回答 回答被采纳积分+3

1回答

提问者 qq_海上独木舟_04166661 2021-03-20 14:54:15

是不是可以这样理解, defaultState 解构之后 相当于字面量对象 不会被类型推断,所以不报错呢

0 回复 有任何疑惑可以回复我~
  • 又好像不是的,我把 defaultSate 泛型删掉再解构还是报错, 我直接字面量对象又不报错。。。。
    回复 有任何疑惑可以回复我~ 2021-03-20 15:00:08
  • defaultState结构之后的类型是
    {
        data: null;
        error: Error | null;
        stat: 'idle' | 'loading' | 'success' | 'error';
    }, 这个类型是State<D>的子集所以没报错
    回复 有任何疑惑可以回复我~ 2021-03-21 01:40:30
  • 同样直接传入就为啥报错了?
    回复 有任何疑惑可以回复我~ 2021-03-21 02:20:45
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信