reactjs - 上下文 api,获取空数组
问题描述
我正在使用上下文 api,但是当我从后端获取数据并尝试将其发送到子组件时,它似乎不起作用,控制台记录了一个空数组。
import {MyApiUrl} from './services/httpService'
export const GlobalState = createContext()
export const DataProvider = ({children}) =>{
const [categories, setCategories] = useState([])
const getCategories = async () =>{
const res = await http.get(MyApiUrl+'/api/jobCategory');
setCategories({categories:res.data})
}
useEffect( ()=>{
getCategories()
},[])
const mystate = {
categoriesAPI: categories
}
console.log(categories)
return (
<GlobalState.Provider value={mystate}>
{children}
</GlobalState.Provider>
)
}
现在在一个子组件中,它是类
static contextType = GlobalState
async componentDidMount(){
const mystate = this.context
console.log(mystate,'hey') // >>>>>>> ITS NOT CONSOLE LOGGING THE VALUE HERE
}
解决方案
推荐阅读
- angular - 如何在 ANGULAR 7 中重新加载 App dot 组件
- sql-server - 使用单个 Azure SQL 数据库托管不同的环境数据库版本
- html - 如何在 left:-20px; 之后加宽 .li 右边缘?
- reactjs - 使用 ApolloClient 时无法访问 this.props
- c++ - 如何修复“无法在动态链接库中找到过程入口点 SDL_ceilf”
- java - 从等待返回集合
- pandas - 如何按列分组并删除或分离熊猫中的值?
- javascript - 使用模式的 Spring Boot 删除操作
- java - 每次应用启动时 FirebaseRecyclerAdapter 都会崩溃
- android - java.lang.RuntimeException:createContext 失败:EGL_SUCCESS Arcgis Android