请问老师,能写一个小dom说明一下RecordType这个类型的推断过程吗?

来源:6-1 安装与使用 antd 组件库

卷狗

2021-09-15

请问老师,能写一个小dom说明一下RecordType这个类型的推断过程吗?
只要有dome就行…不过讲解过程…

interface Test1<RecordType = unknown> {
data?: RecordType;
outData?: RecordType;
}

const test1: Test1 = {
data: {
name: 10,
age: 11,
} as {name:number,age:number},
outData: null,
};

test1.data.

我写成这样,但是test1.data无法点出name和age,则outData就更无法点出了…
很想知道这个类型推断的过程,求老师成全…
只要能写一个dome就行…过程我可以自己研究…谢谢老师.

写回答

2回答

卷狗

提问者

2021-09-17

//img.mukewang.com/szimg/614416f509d228e904900219.jpg

老师请看..我想表达的是这个意思.  期望是最后一句不用写 【as person】.就能直接点出age和name属性...

因为我的setData函数中已经设置了person,然后就希望TestImp能自动推断出我的data类型.而不是从<T>中传入..

因为我们在使用 antd 中 table组件 时,也没有通过<T> 指定 RecordType 的类型,而是直接设置了data,它就直接反推出columns中RecordType 的值...我想请问老师的就是这个推断过程...

补充:我的setData方法,就想当于table组件的props传入data...



0
0

Nolan

2021-09-16

interface Test1<RecordType = unknown> {
    data?: RecordType;
    outData?: RecordType;
}

const test1: Test1<{ name: number, age: number } | null> = {
    data: {
        name: 10,
        age: 11,
    },
    outData: null
};

test1.data?.name

这样写好一些

0
1
卷狗
谢谢老师,可能 是我没有表达清楚...我的意思就是不用显示定义泛型的类型,而让Test1类可以自动推断出来.. .我再发个带图的回复请老师帮看看..
2021-09-17
共1条回复

React17+Hook+TS4 优质实践,仿 Jira 企业级项目

解锁 React17 高阶用法,轻松应对大型复杂长周期项目

2691 学习 · 1236 问题

查看课程