javascript 如何在react中使用另一个文件中的函数?

g6ll5ycj  于 2022-12-17  发布在  Java
关注(0)|答案(6)|浏览(197)

我想为一个函数创建一个文件(function.js)来完成这个任务:

let i = 0;
    if (this === that) {
        i = 0;
    } else {
       i = 1;
    }

然后我想将其添加到(this.js)

import function from "./function";
class Example extends Component {
    state = {
        test
    };
    render() {
        function()
    return (
        <div>
            <h1>{this.state.test.sample[i].name}</h1>
        </div>
z8dt9xmd

z8dt9xmd1#

您可以执行以下操作:
function.js

const doSomething = function() {
let i = 0;
    if (this === that) {
        i = 0;
    } else {
       i = 1;
    }

}

export default doSomething;

App.js(例如):

import doSomething from "./function";

class Example extends Component {
    state = {
        test
    };
    render() {
        doSomething()
    return (
        <div>
            <h1>{this.state.test.sample[i].name}</h1>
        </div>
     )
ev7lccsx

ev7lccsx2#

有多种方法来实现它。

第一次

如果要在该文件中创建多个函数

export const one = () => {
let i = 0;
    if (this === that) {
        i = 0;
    } else {
       i = 1;
    }
}

export const two = () => {
let i = 0;
    if (this === that) {
        i = 0;
    } else {
       i = 1;
    }
}

然后导入并使用

import { 
one, 
two 
} from "./functions"

第二次

您可以使用export defualt

export default = function() {
  let i = 0;
  if (this === that) {
    i = 0;
  } else {
    i = 1;
  }
}

然后简单地使用它

import function from "./function";
0h4hbjxa

0h4hbjxa3#

function关键字是保留标识符。
在浏览器上,你需要一些捆绑工具,允许从js模块安装import。在服务器上,你只能安装require(path/to/file)。我建议你看看create-react-app,了解一个功能齐全的react安装程序。基本的安装程序包含关于JS模块系统的例子(见下面的文档)。
作为回报,您的文件需要导出要使用的符号。
位于b要从a导入符号的a.jsb.js目录中

// file a.js
export function myFunction () {}

// file b.js
import { myFunction } from "./a";

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/importhttps://github.com/facebook/create-react-app的数据

lqfhib0f

lqfhib0f4#

在function.js中像这样导出函数

export function funcName() {
   //function stuff
   let i = 1;
   return i;
}

导入器将是

import { funcName } from './function';

console.log(`value of i is ${funcName()}`);
gstyhher

gstyhher5#

function.js具有以下代码

const funcName = function() {
  let i = 0;
  if (this === that) {
    i = 0;
  } else {
    i = 1;
  }
}

export default funcName;

您可以在this.js中使用它,如下所示-

import funcName from "./function"; // or wherever the file is saved

class Example extends Component {
    state = {
        test
    };
    render() {
        funcName();
      return (
        <div>
            <h1>{this.state.test.sample[i].name}</h1>
        </div>
       );
     }
pbpqsu0x

pbpqsu0x6#

"试试这个"
another-file.js

export function sum(a, b) {
  return a + b;
}

export function ShowText() {
  return '<h1>This is a sample Page</h1>';
}

App.js

import {sum, ShowText} from './another-file';

export default function App() {
  return (
    <div>
      <h2>5 + 5 = {sum(5, 5)}</h2>
      <hr />

      <h2>Text From another file: {ShowText()}</h2>
    </div>
  );
}

相关问题