2 回答

TA貢獻1784條經驗 獲得超9個贊
SampleContext將您的文件更改為:
import React from 'react';
const SampleContext = React.createContext();
const SampleContextProvider = ({children}) => {
return (
<SampleContext.Provider value={{a: 'a', b: 'b'}}>
{children}
</SampleContext.Provider>
);
};
export {SampleContext, SampleContextProvider};
我在提供者值道具中定義了您的默認上下文值,而不是作為createContext.
提供者的 value 屬性會覆蓋在createContext. 這意味著如果您不設置value是否使用提供程序,則默認值將覆蓋為未定義。

TA貢獻1780條經驗 獲得超5個贊
在您的歡迎屏幕中嘗試執行此操作
import {SampleContext} from '../provider/SampleContext';
const {a,b}= useContext(SampleContext);
console.log("contextx=> ", a+' '+b);
我認為解構該值可能會幫助您確認 sampleContext 是否具有上下文值!
添加回答
舉報