关于上下文,让我尝试解释一下。
在我的项目中,例如,有一个用于组件的文件夹。 在该文件夹中,我有我的组件文件,以及一个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内时,首先导入组件,然后将组件分配给变量,然后导出该变量,工作正常。
答案 0 :(得分:0)
当我将React组件中的render = () => (...)
更改为render(){ return (...)}
时,我的问题得到解决