2

使用 ReactuseContext钩子时,它目前需要从树中更高的组件导入以传入Context对象。比如说:

// index.jsx
export const MyContext = React.useContext('1')

export function MyApp(props){
  return (
    <MyContext.Provider value='1'>
        <ChildComponent />
    </MyContext.Provider>
  )
}
// ChildComponent.jsx
import {MyContext} from './index';

export function ChildComponent(props){
  const context = useContext(MyContext);
  return (<p> {context} </p>)
}

但是如果子组件是联合的,它将单独在一个单独的仓库中,并且不能从'./index'.

在这个MyApp级别,我可以导入ChildComponent

const ChildComponent= React.lazy(() => import('federatedApp/ChildComponent'))

前提是在 Webpack 配置中,federatedApp被命名为远程,并且 HTML 文档包含远程模块入口点 .js。但是我怎么给MyContext遥控器federatedApp呢?

猜猜答案:我是否需要将两个组件index.jsx分成两个文件并分别公开它们?

4

0 回答 0