Reactjs 使用React-useState方法时遇到问题
我试图用moviedb api创建一个站点,但我的setState方法有问题。我的setMovies不将值应用于状态。当我记录电影状态时,数组是空的 你能帮我吗 我的代码: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
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。获取(…)
好的,我会试试,谢谢