Javascript 由于从index.js导入,需要周期
我收到关于我的react native项目的警告:Javascript 由于从index.js导入,需要周期,javascript,react-native,Javascript,React Native,我收到关于我的react native项目的警告: Require cycles are allowed, but can result in uninitialized values. Consider refactoring to remove the need for a cycle. Require cycle: src/navigation/index.js -> src/navigation/mainDrawerNavigator.js -> src/navigatio
Require cycles are allowed, but can result in uninitialized values.
Consider refactoring to remove the need for a cycle.
Require cycle: src/navigation/index.js -> src/navigation/mainDrawerNavigator.js -> src/navigation/index.js
这是因为我习惯于从index.js文件导出文件夹中的所有类,也习惯于从指定的index.js文件导入(这很方便,虽然我不确定这是否是正确的做法,但看起来很常见:和)
我有以下目录结构:
src/
navigation/
index.js
mainDrawerNavigator.js
homeTabNavigator.js
otherNavigator.js
在index.js
中(我正在导出mainpainernavigator
和homeTabNavigator
)
从“/HomeTabNavigator”导出{默认为HomeTabNavigator};
从“./mainpaudernavigator”导出{default as mainpaudernavigator};
从“/OtherNavigator”导出{default as OtherNavigator};
问题在于mainpraurenavigator
我需要homeTabNavigator
这样导入它
import {
HomeTabNavigator,
OtherNavigator,
} from '@/navigation'; // this is the source of the warning
是否有一种方法可以从index.js
导入,而不会导致require循环
我知道我可以这样导入它:
import HomeTabNavigator from './homeTabNavigator';
import OtherNavigator from './otherNavigator';
但是对于一些文件夹,我在index.js
文件中有一个很长的导出列表,在该文件夹中,我不想逐个导入(如果可能的话)