返回顺序不一致,触发的函数为何能够被正确的识别?
来源:4-7 作业解答 - ⽤ Hook + TS + TS泛型实现useArray

悠闲地宅
2021-02-22
如下代码,最后的return,无论是{value, clear, removeIndex, add},还是{value, clear, add, removeIndex},都不影响最后页面的效果。
然后我尝试了更改返回变量的名称,提示错误。这是ts的语法特性吗?根据名称,而非返回的顺序来确认对应的值?
export const useArray = <T>(initialArray: T[]) => {
const [value, setValue] = useState(initialArray);
const add = (item: T) => {
setValue([...value, item]);
};
const clear = () => {
setValue([]);
};
const removeIndex = (index: number) => {
const valueCopy = [...value];
valueCopy.splice(index, 1);
setValue(valueCopy);
}
return {value, clear, removeIndex, add}
}
写回答
1回答
-
Nolan
2021-02-23
对象中的键值对本来就没有顺序可言,至于更改返回变量名称,这个没懂你的意思,不过如果报错肯定是因为在其他地方进行了类型定义
00
相似问题