Reactjs React-context api-与其他包共享数据
我有一个react本机应用程序(比如MyMobile),我还使用了一个react本机库,其中包含一些共享组件(比如MySharedUX)。这两个文件夹都引用相同的react本机版本Reactjs React-context api-与其他包共享数据,reactjs,Reactjs,我有一个react本机应用程序(比如MyMobile),我还使用了一个react本机库,其中包含一些共享组件(比如MySharedUX)。这两个文件夹都引用相同的react本机版本 package.json (MyMobile){ ... "@MySharedUX" : "file:../MySharedUX" ... 在MySharedUX项目中,我创建了一个页面跟踪挂钩,它使用导航上下文。当我从MyMobileproject中的函数组件调用钩子时,我
package.json (MyMobile){
...
"@MySharedUX" : "file:../MySharedUX"
...
在MySharedUX
项目中,我创建了一个页面跟踪挂钩,它使用导航上下文。当我从MyMobile
project中的函数组件调用钩子时,我得到的导航对象是未定义的
export function usePageTracking(pageName: string): void {
...
const navigation = useContext(NavigationContext); //navigation is undefined.
// const navigation = useNavigation(); // navigation is undefined.
...
但是如果我将文件usePageTracking
移动到MyMobile
文件夹中,导航就会毫无问题地填充
虽然包MySharedUX
是在MyMobile
文件夹中执行的,但它不接收上下文数据
MySharedUX
是否有任何方法可以访问导航上下文,而无需作为参数传递给usePageTracking
?AFAIK,上下文API的挂钩和方法受应用程序边界内内存数据的约束。如果需要将数据传递给其他包,或应用程序中加载的包,您只需传递对象并在包的代码中重新构建react上下文即可