我想知道,是否可以从“customer”文件夹导入组件,如果那里不存在\xc2\xb4t,则从“core”文件夹导入它。像这样的东西:
\nimport React, {lazy} from 'react'\nconst MyComponent = lazy('customerFolder/myComponent').then(\n if (!MyComponent) lazy('coreFolder/myComponent')\n)\nRun Code Online (Sandbox Code Playgroud)\n我知道,这段代码不能\xc2\xb4t 工作,但我希望你明白这一点。:)\n我怎样才能做到这一点?也许这是一个 webpack 配置?
\n我正在使用 React 16.13 和 webpack 4.43。
\n提前致谢。
\n也许回答有点晚了,但你应该捕获异常。
const importComponent= path =>
lazy(() => import(`${path}`).then(comp => comp).catch(err => <p>
Component not found </p>))
Run Code Online (Sandbox Code Playgroud)
然后你可以像这样使用它:
const Comp = importComponent("./Button");
<Comp onClick={() => alert("Hello World")}>Hello world</Comp>
Run Code Online (Sandbox Code Playgroud)
如果未找到组件,它将返回“未找到组件”文本:D
| 归档时间: |
|
| 查看次数: |
427 次 |
| 最近记录: |