热重新加载时内联导入导出组件抛出错误

问题描述 投票:3回答:1

对于上下文,让我试着解释一下。

在我的项目中,我有一个文件夹,例如,组件。在该文件夹中,我有我的组件文件和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中导入组件时,我首先导入组件,而不是将组件分配给变量,而不是导出此变量,它可以正常工作。

javascript reactjs react-native hot-module-replacement hot-reload
1个回答
0
投票

当我在反应组件中将render = () => (...)更改为render(){ return (...)}时,我的问题得以解决

© www.soinside.com 2019 - 2024. All rights reserved.