类型“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[]>”的参数?? 的全部内容, 来源链接: utcz.com/a/57269.html