类型“any[]”的参数不能赋给类型“SetStateAction<never[]>”的参数??

const [list, setList] = useState([]);

// ...

function change(){

const newList = list.map((_item: any) => {

const __item = { ..._item };

__item.name = 'hello world'

return _item;

});

setList(newList); // 报错

}

错误:

类型“any[]”的参数不能赋给类型“SetStateAction<never[]>”的参数。

不能将类型“any[]”分配给类型“never[]”。

不能将类型“any”分配给类型“never”。

回答

export function useTest() {

const [list, setList] = useState<any[]>([]) // 这样写就不报错了,默认 [] 会被ts 推导成never[]类型

function change() {

const newList = list.map((item: any) => {

return { ...item, name: 'hello world' }

});

setList(newList)

}

return change

}

// 下面是写明类型,而不是单纯的any[]

interface LOL {

name: string

}

export function useTestLOL() {

const [lol, setLoL] = useState<LOL[]>([])

function change() {

setLoL([...lol, { name: 'hello world' }])

}

return change

}

类型“any[]”的参数不能赋给类型“SetStateAction<never[]>”的参数??

以上是 类型“any[]”的参数不能赋给类型“SetStateAction&lt;never[]&gt;”的参数?? 的全部内容, 来源链接: utcz.com/a/57269.html

回到顶部