这是代码
尝试编译它时说“‘toDo’类型的参数不可分配给‘SetStateAction
我不知道它为什么不工作,因为类型似乎是正确的。
如何避免该错误
const [todoList, setTodoList] = useState<toDo[]>([])
useEffect(() => {
loadToDoList()
}, [])
const loadToDoList = async () => {
const toDoList = await ToDoService.getToDoList()
console.log(toDoList)
setTodoList(toDoList)
}
return (
<div>
<ToDoList items={todoList} />
</div>
)
}```
最佳答案
此错误是因为您尝试使用类型为 toDo
的变量设置状态当它需要一个 toDo 数组时 toDo[]
.
确认 toDoList
的类型由 await ToDoService.getToDoList()
返回等于toDo[]
或更改 useState
上的通用类型声明调用 const [todoList, setTodoList] = useState<toDo>([])
, 以防万一 toDo
已经是一个数组。
关于reactjs - 'x' 类型的 React Typescript 参数不可分配给 'SetStateAction<x]>' 类型的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72995351/