Reactjs 使用React-useState方法时遇到问题

Reactjs 使用React-useState方法时遇到问题,reactjs,react-state,Reactjs,React State,我试图用moviedb api创建一个站点,但我的setState方法有问题。我的setMovies不将值应用于状态。当我记录电影状态时,数组是空的 你能帮我吗 我的代码: const [movies, setMovies] = useState<IMovies[]>([]); const [searchMovie, setSearchMovie] = useState('a'); // Define o valor inicial como A para gerar as prim

我试图用moviedb api创建一个站点,但我的setState方法有问题。我的setMovies不将值应用于状态。当我记录电影状态时,数组是空的 你能帮我吗

我的代码:

const [movies, setMovies] = useState<IMovies[]>([]);
const [searchMovie, setSearchMovie] = useState('a'); // Define o valor inicial como A para gerar as primeiras lista de filmes.


async function loadMovies() {
    await api.get(`?query=${searchMovie}&api_key=${key}`)
          .then(response => {
                const data = response.data.results;
                setMovies(data);
                console.log(movies)
     });
 }

 useEffect(() => {
    loadMovies();
 }, [searchMovie]);
const[movies,setMovies]=useState([]);
const[searchMovie,setSearchMovie]=useState('a');//将“勇气”定义为电影的首要目标。
异步函数loadMovies(){
wait api.get(`?query=${searchMovie}&api_key=${key}`)
。然后(响应=>{
常量数据=response.data.results;
setMovies(数据);
console.log(电影)
});
}
useffect(()=>{
loadMovies();
},[searchMovie]);
试试这个

const [movies, setMovies] = useState([]);
const [searchMovie, setSearchMovie] = useState('a');

useEffect(async() => {
     await api.get(`?query=${searchMovie}&api_key=${key}`).then(response => {       
        setMovies([...response.data.results]);
    });
     console.log(movies)
}, [searchMovie]);

通过将
控制台.log(movies)
移动到
loadMovies
功能之外,您应该仔细检查
movies
是否未实际设置。请注意,您从未实际更改
电影
的值
setState
计划更改该状态,但它不会影响此特定渲染上的
movies
值这不是问题所在,但您在这里也混合使用了“等待”和“然后”两种模式。如果您想使用'then',不要在这里使用async/Wait。如果您想使用
wait
,请删除then,然后使用
const response=api。获取(…)
好的,我会试试,谢谢