对于返回<Provider>
的根组件的示例,我得到了一些需要保存在上下文中的数据。如何正确地做呢?
我可以将它作为道具传递给孩子(消费者),在这里,在孩子中,调度更新上下文的动作:
class App extends Component {
getWindowSize = (window, document) => {...}
render() {
let windowSize = this.getWindowSize(window, document)
return (
<Provider>
<div className="App" >
<BtnInput />
<Canvas windowSize={windowSize}/>
</div>
</Provider>
)
}
}
这没关系,因为<Canvas>
需要此数据。
但是,如果我有一个需要知道windowSize
的深层嵌套组件,那么它的(全部)父级根本不需要知道它。在这种情况下如何将windowSize
传递给上下文?
windowSize
这里只是一个示例,它可以是我需要保存在上下文中的任何其他数据。问题是关于使用react contex api并直接从<Provider>
或呈现<Provider>
的组件发送数据。