Cha*_*ras 2 javascript import reactjs react-native
我想知道如果我从另一个文件导入一个函数,我是否也导入了该函数文件中导入的所有文件?例如:
认证.js
import React from 'react';
import { AsyncStorage, View, Text, ScrollView, ... } from 'react-native';
import ModuleA from './modules/ModuleA';
import ModuleB from './modules/ModuleB';
import Module99 from './modules/Module99;
export const function1 = () => {
{/* some function using ModuleA */}
}
export const function2 = (param) => {
if(something)
{/* some function using Module99 */}
else
{/* some function using ModuleB */}
}
Run Code Online (Sandbox Code Playgroud)
屏幕.js
import React from 'react';
import { function2 } from '../auth';
export default class Screen extends React.Component {
{/* use function2 in some function or render */
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,当我从 auth.js 导入 function2 时,我是否导入了在 auth.js 中导入的所有模块和其他文件?或者我只是导入了 function2 将使用的模块。
此外,function2 将根据参数使用不同的模块,通过从我的 Screen 调用 function2,我的 Screen 是否也会导入所有模块,或者只是 Module99 和 moduleB,或者只是 if else 语句中的特定模块?
我已经阅读了很多关于导入如何在 react native 中工作的文档,但仍然无法真正理解流程。谢谢大家的回答。
通过这样做,import function2 from '../auth';您不会导入任何内容,因为它不是默认导出。也不会自动导入任何模块screen.js。如果您还需要在screen.js
如果你想function2在screen.js你需要像这样导入它
import { function2 } from '../auth';
Run Code Online (Sandbox Code Playgroud)
您也可以使用import * as fromAuth from '../auth';导入所有
用法: fromAuth.function2()
进口无花括号{}用于导入默认值。(其使用默认已出口keyword)
有4种类型的出口:
以下是一些来自 MDN 的导入示例
import defaultExport from "module-name";
import * as name from "module-name";
import { export } from "module-name";
import { export as alias } from "module-name";
import { export1 , export2 } from "module-name";
Run Code Online (Sandbox Code Playgroud)
在此处查找更多详细信息