Я новичок в React, и у меня есть некоторые сомнения относительно хука useState. Недавно я работал над приложением для реагирования на рецепты на основе API. Проблема, с которой я сталкиваюсь, заключается в том, что когда я отправляю что-то в форму поиска, должно произойти изменение состояния, но состояние не меняется но если я повторно отправлю форму, состояние изменится.
import React,{useState,useEffect} from "react";
import Form from "./componnents/form";
import RecipeBlock from "./componnents/recipeblock"
import './App.css';
function App() {
const API_id=process.env.REACT_APP_MY_API_ID;
const API_key=process.env.REACT_APP_MY_API_KEY;
const [query,setQuery]=useState("chicken");
const path=`https://api.edamam.com/search?q=${query}&app_id=${API_id}&app_key=${API_key}`
const [recipe,setRecipe]=useState([]);
useEffect(() => {
console.log("use effect is running")
getRecipe(query);
}, []);
function search(queryString){
setQuery(queryString);
getRecipe();
}
async function getRecipe(){
const response=await fetch(path);
const data=await response.json();
setRecipe(data.hits);
console.log(data.hits);
}
queryString в функции search () содержит значение ввода формы. Каждый раз, когда я отправляю форму, это значение поступает правильно, но setQuery (queryString) не меняет значение или состояние запроса, и если я повторно отправлю форму, он изменит состояние.