返回顺序不一致,触发的函数为何能够被正确的识别?

来源: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

对象中的键值对本来就没有顺序可言,至于更改返回变量名称,这个没懂你的意思,不过如果报错肯定是因为在其他地方进行了类型定义

0
0

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

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

2691 学习 · 1236 问题

查看课程