我使用Next.js和React,使用react hooks +context來管理狀態。但是,我遇到了這個問題,即使我在上下文對象中傳遞,返回值也未定義(或者我認為是這樣)。我是否錯過了一些非常明顯的東西?發生了什么事情?React.useContext()我已經在一個名為 CartContext 的 const 中創建上下文,然后在我的提供程序組件中,我創建了值對象并將其作為 prop 傳遞給 CartContext.Provider(請參閱下面的 )。我確保上下文提供程序通過添加一個元素來包裝我的組件,只是為了確保這一點。_app.js<h1>問題似乎出現在 中。我已經從中導入了CartContext,然后將其作為參數傳遞給我應該做的,但它不斷拋出這個錯誤:index.js./_app.jsuseContext()“TypeError:無法取消結構屬性'react__WEBPACK_IMPORTED_MODULE_0___default.a.useContext(...)'的第一個樣本',因為它是未定義的”從我收集到的信息中告訴我,useContext() 返回未定義。_app.js(換行所有頁面)import React from 'react'import '../styles/global.css';import theme from '../components/customTheme';import { ThemeProvider } from '@material-ui/core/styles';const MyApp = props => { const { Component, pageProps, store } = props return ( <ContextProvider> <ThemeProvider theme={theme}> <Component {...pageProps} /> </ThemeProvider> </ContextProvider> )}// Context export const CartContext = React.createContext()function ContextProvider({ children }) { const value = { firstSample: "Test", exampleFunction: () => {alert("Hello World")}, } return ( <CartContext.Provider value={value}> <h1>The provider works</h1> {children} </CartContext.Provider> )}export default MyApp;
React.useContext() 不斷返回未定義?
RISEBY
2022-08-18 10:23:35