使用 JSON 数据反应更新状态变量
React update state variable with JSON data
App.js:
function App() {
const [items, setItems] = useState([]);
useEffect(() => {
const searchDB = () => {
fetch("http://127.0.0.1:8443/subColumns/5/?key=fc257229-8f91-4920-b71f-885403114b35", {
mode: 'cors',
credentials: 'include'
})
.then(res => res.json())
.then((json) => {
setItems(json);
})
console.log({items});
}
searchDB();
}, [])
我需要将 json 响应保持在可变状态,因为将来 API 请求将不会被硬编码,我希望用户会发出多个 API没有刷新的请求,结果将不得不映射到不同的组件。目前,正在尝试将 {items} 打印到控制台 returns 一个空数组。
由于setItems
是异步方法,不能在setItems后立即获取更新后的值。您应该使用另一个具有依赖性的 useEffect
来查看该值。
useEffect(() => {
console.log(items);
}, [items]);
App.js:
function App() {
const [items, setItems] = useState([]);
useEffect(() => {
const searchDB = () => {
fetch("http://127.0.0.1:8443/subColumns/5/?key=fc257229-8f91-4920-b71f-885403114b35", {
mode: 'cors',
credentials: 'include'
})
.then(res => res.json())
.then((json) => {
setItems(json);
})
console.log({items});
}
searchDB();
}, [])
我需要将 json 响应保持在可变状态,因为将来 API 请求将不会被硬编码,我希望用户会发出多个 API没有刷新的请求,结果将不得不映射到不同的组件。目前,正在尝试将 {items} 打印到控制台 returns 一个空数组。
由于setItems
是异步方法,不能在setItems后立即获取更新后的值。您应该使用另一个具有依赖性的 useEffect
来查看该值。
useEffect(() => {
console.log(items);
}, [items]);