对于上下文,让我试着解释一下。
在我的项目中,我有一个文件夹,例如,组件。在该文件夹中,我有我的组件文件和index.js文件,其中我导入所有组件并导出,而不是在同一行中,如下所示:
export { default as Button } from './button'
export { default as Loader } from './loader'
export { default as ImageBackground } from './image-background'
因此,我可以在屏幕组件中导入这些组件:
import { Button, Loader, ImageBackground } from 'src/components'
如果我编辑组件文件,保存并重新加载项目,一切正常。
问题是,当我在热模块替换(热重新加载)激活时编辑任何这些组件时,在编辑后触发它时,它会抛出以下错误:
未处理的JS异常:需要模块“src / components / index.js”,它引发异常:TypeError:无法重新定义属性:Button
有谁知道为什么会这样?
提前致谢!
Obs:当我直接导入组件而不使用index.js或者如果在index.js中导入组件时,我首先导入组件,而不是将组件分配给变量,而不是导出此变量,它可以正常工作。
当我在反应组件中将render = () => (...)
更改为render(){ return (...)}
时,我的问题得以解决