gpt4 book ai didi

javascript - React Native 从另一个文件导入函数

转载 作者:行者123 更新时间:2023-11-30 14:18:37 25 4
gpt4 key购买 nike

我想知道如果我从另一个文件导入函数,我是否也导入了函数文件中导入的所有文件?例如:

auth.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 */}
}

屏幕.js

import React from 'react';
import { function2 } from '../auth';

export default class Screen extends React.Component {
{/* use function2 in some function or render */
}

我的问题是,当我从 auth.js 导入 function2 时,我是否导入了在 auth.js 中导入的所有模块和其他文件?或者我只是导入将由 function2 使用的模块。

此外,function2 将根据参数使用不同的模块,通过从我的 Screen 调用 function2,我的 Screen 是否也会导入所有模块,或者仅导入 Module99 和 moduleB,或者仅导入 if else 语句中的特定模块?

我已经阅读了很多关于导入如何在 React Native 中工作的文档,但仍然无法真正理解流程。感谢您的所有回答。

最佳答案

通过执行此 import function2 from '../auth'; 您没有导入任何内容,因为它不是默认 导出。此外,screen.js 中不会自动导入任何模块。如果您还需要在 screen.js

中使用,则必须显式导入模块(ModuleA、ModuleB ets)

如果你想在 screen.js 中使用 function2 你需要像这样导入它

import { function2 } from '../auth';

你也可以使用import * as fromAuth from '../auth';来导入所有

用法:fromAuth.function2()

Import without curly braces {} 用于导入默认值。(已使用 default keyword 导出)

导出有四种类型:

  • 命名导出(每个模块几个)
  • 默认导出(每个模块一个)
  • 混合命名和默认导出
  • 循环依赖

这里有一些来自 MDN 的 Import 例子

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";

查找更多详细信息 here

关于javascript - React Native 从另一个文件导入函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53128479/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com