我有一个与此类似的上下文设置
const DataContext = createContext({ data: null });
const getData = (key) => {
switch(key) {
case 1:
return "Hello"
case 2:
return " World"
default:
return null
}
}
export const DataProvider = ({ id, children }) => {
const data = useMemo(() => {
return getData(id);
}, [id]);
return (
<DataContext.Provider
value={{
data,
}}
>
{children}
</DataContext.Provider>
);
};
export default DataContext
Run Code Online (Sandbox Code Playgroud)
以及像这样使用它的子组件
const HelloComponent = () => {
return <DataProvider id={1}>
{
// children are components that …Run Code Online (Sandbox Code Playgroud)