我正在尝试通过钩子与提供者createContext()
建立全局上下文,从API端点获取数据,数据console.log(itemsJson)
成功打印,但是
setItems(itemsJson)
console.log(items)
打印一个空对象{}
(可能是最初作为占位符添加到该状态的对象)。
import React, {useState, createContext, useEffect} from 'react'
export const ItemsContext = createContext()
export const ItemsProvider = (props) =>{
const [items, setItems] = useState({})
useEffect(()=>{
const fetchItems = async () =>{
const data = await fetch('http://ddragon.leagueoflegends.com/cdn/10.3.1/data/en_US/item.json');
const itemsJson = await data.json();
console.log(itemsJson)
setItems(itemsJson)
console.log(items)
}
fetchItems()
},[])
return(
<ItemsContext.Provider value={'hello'}>
{props.children}
</ItemsContext.Provider>
)
}
我在做什么错了?