我正在尝试学习钩子,该useState
方法使我感到困惑。我正在将初始值分配给数组形式的状态。useState
即使使用spread(...)
或,in中的set方法对我也不起作用without spread operator
。我在另一台PC上创建了一个API,该API正在调用并获取要设置为状态的数据。
这是我的代码:
import React, { useState, useEffect } from "react"; import ReactDOM from "react-dom"; const StateSelector = () => { const initialValue = [ { category: "", photo: "", description: "", id: 0, name: "", rating: 0 } ]; const [movies, setMovies] = useState(initialValue); useEffect(() => { (async function() { try { //const response = await fetch( //`http://192.168.1.164:5000/movies/display` //); //const json = await response.json(); //const result = json.data.result; const result = [ { category: "cat1", description: "desc1", id: "1546514491119", name: "randomname2", photo: null, rating: "3" }, { category: "cat2", description: "desc1", id: "1546837819818", name: "randomname1", rating: "5" } ]; console.log(result); setMovies(result); console.log(movies); } catch (e) { console.error(e); } })(); }, []); return <p>hello</p>; }; const rootElement = document.getElementById("root"); ReactDOM.render(<StateSelector />, rootElement);
setMovies(result)
以及setMovies(...result)
不工作。可以在这里使用一些帮助。
我希望将结果变量推入movies数组中。