ReferenceError: Cannot access 'todos' before initialization App, react js

ReferenceError: Cannot access 'todos' before initialization App, react js

在 useEffect

上出现错误“ReferenceError: Cannot access 'todos' before initialization”
function App() {
    //use effect
    useEffect(() =>{
        filterHandler();
    },[todos, status]); 


    //input text
    const [inputText,setInputText]=useState('');

    //todo list
    const[todos , setTodos] = useState([]);
    return (
        <div className="App">
            <header>
            <h1>Todo List</h1>
            </header>
            <Form 
                todos={todos} 
            />
        </div>
    )
}

您在组件顶部附近使用了待办事项,但直到组件的下方才创建变量。您将需要调换顺序,以便先创建它,然后再使用它。

function App() {
  //todo list
  const [todos, setTodos] = useState([]);

  //use effect
  useEffect(() => {
    filterHandler();
  }, [todos, status]);

  //input text
  const [inputText, setInputText] = useState("");

  return (
    <div className="App">
      <header>
        <h1>Todo List</h1>
      </header>
      <Form todos={todos} />
    </div>
  );
}