React.useContext 未定义
2021-08-04
584
我刚刚开始使用 React 中的 useContext 钩子,但无法让它工作。 在文件 App.js 中,我定义了 App 组件中的值:
const StateValue = React.createContext(null);
然后,我尝试从 useState 传递一个函数,在同一组件的返回段中使用以下代码:
<StateValue.Provider value={setLogState}>
{logState === 1 ? (
<Register setLogState={setLogState} register={register} />
) : (
""
)}
{logState === 2 ? (
<Login setLogState={setLogState} login={login} />
) : (
""
)}
{logState === 3 ? (
<List
color={color}
historicData={historicData}
history={history}
tickersData={tickersData}
addTicker={addTicker}
deleteTicker={deleteTicker}
tickers={tickers}
/>
) : (
""
)}
</StateValue.Provider>
在单独的文件中,名为 list.js,我使用
let data = React.useContext(StateValue);
获取上下文,但收到错误
src\Components\list.js
Line 8:31: 'StateValue' is not defined no-undef
我参考了本指南: https://reactjs.org/docs/hooks-reference.html#usecontext
似乎传递的值应该是一个对象,但我想传递一个函数。我需要导入它吗?我该如何修复上述错误?
1个回答
您需要做的就是在
App.js
文件中导出
stateValue
export const StateValue = React.createContext(null);
之后您需要将其导入到
List.js
文件中
import { StateValue } from "../../App.js";
Mohammed Ismail
2021-08-04