const addData = async () => { const result = await axios.post( "https://jsonplaceholder.typicode.com/todos?_limit=10", { id: uuidv4(), title: title, completed: false } ); setTodos((prevTodos) => [...prevTodos, result.data]); }; useEffect(() => { addData(); }, [addData]);
Я хочу вызвать функцию "addData" в форме отправки
Я хочу вызвать функцию "addData" при отправке формы
Если вы хотите запустить ее, тогда я не понимаю, зачем вам нужна useEffect в все. Просто позвоните addData в форме отправки.
useEffect
const Example = (props) => { const [todos, setTodos] = useState([]); const addData = async () => { const result = await axios.post( "https://jsonplaceholder.typicode.com/todos?_limit=10", { id: uuidv4(), title: title, completed: false } ); setTodos((prevTodos) => [...prevTodos, result.data]); }; return ( <form onSubmit={addData}> {/* etc */} </form> ) }
Удалите зависимость из useEffect, как я упоминал ниже, useEffect будет выполняться при изменении значения зависимости, и вы вносите изменения в ту же зависимость useEffect внутри useEffect,
useEffect(() => { addData(); }, []);