打字稿与嵌套解构
typescript together with nested destructuring
ES6 很棒,它减少了代码数量,但所有内容的打字稿都不起作用。
如果我想对我的参数进行类型检查,它已经被破坏了不止一层,那不是一团糟吗?我觉得一开始用接口做一次检查就够了,你觉得呢?或者您可以对所有内容进行类型检查,但不要过度使用 es6 以获得更好的可读性。
<div>
{response.results.map(({id, name, stock: {day: dayStock, month: monthStock}}) => {
return(
<div>
<p>Item: {name}</p>
<p>Day Stock: {dayStock}</p>
<p>Month Stock: {monthStock}</p>
<br />
</div>
)
})}
</div>
如果您键入 results
,那么您可以对解构的对象进行注释。
type Item = {
id: number;
name: string;
stock: {
month: number;
week: number;
day: number;
};
}
const response = {
results: [{
id: 1,
name: 'TV',
stock: {
month: 10,
week: 5,
day: 4
}
}]
};
response.results.map(
({ id, name, stock: { day: dayStock } }: Item) => dayStock
);
ES6 很棒,它减少了代码数量,但所有内容的打字稿都不起作用。
如果我想对我的参数进行类型检查,它已经被破坏了不止一层,那不是一团糟吗?我觉得一开始用接口做一次检查就够了,你觉得呢?或者您可以对所有内容进行类型检查,但不要过度使用 es6 以获得更好的可读性。
<div>
{response.results.map(({id, name, stock: {day: dayStock, month: monthStock}}) => {
return(
<div>
<p>Item: {name}</p>
<p>Day Stock: {dayStock}</p>
<p>Month Stock: {monthStock}</p>
<br />
</div>
)
})}
</div>
如果您键入 results
,那么您可以对解构的对象进行注释。
type Item = {
id: number;
name: string;
stock: {
month: number;
week: number;
day: number;
};
}
const response = {
results: [{
id: 1,
name: 'TV',
stock: {
month: 10,
week: 5,
day: 4
}
}]
};
response.results.map(
({ id, name, stock: { day: dayStock } }: Item) => dayStock
);