0

假设我有两个独立的组件 X 和 Y,其中 X 是 Y 中的依赖项(不是项目中的直接子项)。是否可以在 X 中访问 Y 的上下文?

前任:

<Y.Provider value={key: 'val'}>
   <X />
</Y.Provider>

X是一个单独的项目,想访问Y的上下文,怎么办?我可以在 X 中导入 Y 的上下文并使用它吗?Y 完全是一个单独的(直到 X 被用作 Y 中的依赖项才知道)组件?

4

1 回答 1

0

如果要访问某个父变量,则父变量必须将其作为道具传递。

Y 可以将所需的道具传递给它的孩子

const Y = (props) => {
   const myVariable = 1

   return React.cloneElement(props.children, { context: myVariable })
}

然后 X 可以通过props.context.myVariable

于 2020-09-17T17:05:33.967 回答