[英]React Hooks Todo App 'TypeError: Object(...) is not a function' error
I'm developing a Todo App with React Hooks.我正在使用 React Hooks 开发一个 Todo 应用程序。 I get the error "TypeError: Object (...) is not a function" when defining the functional component.
定义功能组件时出现错误“TypeError: Object (...) is not a function” 。
React version: 16.7.0反应版本:16.7.0
Here is the error:这是错误:
1 | import React, { useState } from "react"
2 | import "./App.css"
3 |
> 4 | export default function TodoApp() {
5 | const [todo, setTodo] = useState("")
6 | const [todos, setTodos] = useState([])
7 |
And my code:还有我的代码:
import React, { useState } from "react"
import "./App.css"
export default function TodoApp() {
const [todo, setTodo] = useState("")
const [todos, setTodos] = useState([])
const handleChange = (e) => {
setTodo(e.target.value)
}
const addTodo = () => {
setTodos([
...todos,
{
id: todos.length + 1,
title: todo,
isDone: false
}
])
}
continued...
You seem to have a mistake inside the addTodo
function.您似乎在
addTodo
函数中有错误。 If your current state depends on the previous state you have to pass a function instead to setTodos
to avoid bugs.如果您的当前状态依赖于先前的状态,则您必须将一个函数传递给
setTodos
以避免错误。 Try this:尝试这个:
const addTodo = () => {
setTodos(prevTodos => [
...prevTodos,
{
id: prevTodos.length + 1,
title: todo,
isDone: false
}
])
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.