【发布时间】:2020-07-23 01:06:32
【问题描述】:
我有一个上下文 API 文件设置,它有一个状态和一个从 API 获取数据并设置状态的函数,我想将状态传递给我的其他组件。在我的 App.js 中,我使用 React-Router 来指定路由。如何在使用 React-Router 的同时使用 Context API 将状态传递给这些组件。
我的 ApiContext.js 文件如下所示:
import React, {useState, createContext } from 'react';
export const ApiContext = createContext();
export const ApiProvider = async (props) => {
const [data, setData] = useState(null);
const getURL = 'https://examplefetchsite.com';
const response = await fetch(getURL).json();
setData(response);
return (
<ApiContext.Provider value={[data, setData]}>
{props.children}
</ApiContext.Provider>
);
}
我的 App.js 的返回是这样的:
return (
<ApiProvider>
<Router>
<div>
<NavBar />
<Switch>
<Route path="/" exact component={ Dashboard } />
<Route path="/create" component={ Create } />
<Route path="/view" component={View} />
</Switch>
</div>
</Router>
</ApiProvider>
)
【问题讨论】:
标签: javascript html reactjs frontend context-api