Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 如何导出函数和导入函数钩子_Reactjs - Fatal编程技术网

Reactjs 如何导出函数和导入函数钩子

Reactjs 如何导出函数和导入函数钩子,reactjs,Reactjs,我知道,也知道怎么做,但这会给我带来麻烦 我只想导入函数{OnSubmitLog_In and username},也许更多的是如何正确地列出它不会使它成为一个问题 2个js文件 首先是这样的进口 import * as Login from './log_in'; import { OnSubmitLog_In, username } from './log_in'; 在第二个文件中 async function OnSubmitLog_In(e) { e.preventDefaul

我知道,也知道怎么做,但这会给我带来麻烦 我只想导入函数{OnSubmitLog_In and username},也许更多的是如何正确地列出它不会使它成为一个问题

2个js文件

首先是这样的进口

import * as Login from './log_in';
import { OnSubmitLog_In, username } from './log_in';
在第二个文件中

async function OnSubmitLog_In(e) {
    e.preventDefault();
    var data = { username, password }
    await axios.post("http://localhost:4000/users/signin", data, {
    }).then((response) => {
        if (localStorage.getItem('token', response.data.accessToken)) {
            alert('user alredy in')
        } else {
            alert('hellow ' + data.username)
            localStorage.setItem('token', response.data.accessToken)
            console.log('response data', response.data)
            console.log('response config', response.config.data)
        }


    }, (error) => {
        console.log('error', error)
        if (405) {
            alert('user not found')
        } else if (500) {
            alert('user not found try again')
        }
    });
}
export default Log_In;
这就是错误所在

./src/NAVBAR/nav.js 尝试导入错误:“OnSubmitLog\u-In”不是从“/log\u-In”导出的

您正在作为默认值导出,您应该这样导入

import OnSubmitLog_In from './log_in';  //Not sure about username 
更新

要将单个文件中的所有内容作为

import * as Login from './log_in'
您需要将所有内容从日志文件导出为命名导出

例如,这是我的登录文件

现在您可以在父组件中使用这些组件,如

<Login.MyComponent />
<Login.MyComponent2 />
您正在作为默认值导出,您应该这样导入

import OnSubmitLog_In from './log_in';  //Not sure about username 
更新

要将单个文件中的所有内容作为

import * as Login from './log_in'
您需要将所有内容从日志文件导出为命名导出

例如,这是我的登录文件

现在您可以在父组件中使用这些组件,如

<Login.MyComponent />
<Login.MyComponent2 />

您应该导出对象中的函数,以便按照您的方式导入它们

像这样:

async function OnSubmitLog_In(e) {
    e.preventDefault();
    var data = { username, password }
    await axios.post("http://localhost:4000/users/signin", data, {
    }).then((response) => {
        if (localStorage.getItem('token', response.data.accessToken)) {
            alert('user alredy in')
        } else {
            alert('hellow ' + data.username)
            localStorage.setItem('token', response.data.accessToken)
            console.log('response data', response.data)
            console.log('response config', response.config.data)
        }


    }, (error) => {
        console.log('error', error)
        if (405) {
            alert('user not found')
        } else if (500) {
            alert('user not found try again')
        }
    });
}
export {
  OnSubmitLog_In
};

您应该导出对象中的函数,以便按照您的方式导入它们

像这样:

async function OnSubmitLog_In(e) {
    e.preventDefault();
    var data = { username, password }
    await axios.post("http://localhost:4000/users/signin", data, {
    }).then((response) => {
        if (localStorage.getItem('token', response.data.accessToken)) {
            alert('user alredy in')
        } else {
            alert('hellow ' + data.username)
            localStorage.setItem('token', response.data.accessToken)
            console.log('response data', response.data)
            console.log('response config', response.config.data)
        }


    }, (error) => {
        console.log('error', error)
        if (405) {
            alert('user not found')
        } else if (500) {
            alert('user not found try again')
        }
    });
}
export {
  OnSubmitLog_In
};
您必须按如下方式导入代码

import OnSubmitLog_In, { username } from './log_in';
import { OnSubmitLog_In, username } from './log_in';
在这里,您将导出为默认值。如果删除默认值,则必须编写如下代码

import OnSubmitLog_In, { username } from './log_in';
import { OnSubmitLog_In, username } from './log_in';
您必须按如下方式导入代码

import OnSubmitLog_In, { username } from './log_in';
import { OnSubmitLog_In, username } from './log_in';
在这里,您将导出为默认值。如果删除默认值,则必须编写如下代码

import OnSubmitLog_In, { username } from './log_in';
import { OnSubmitLog_In, username } from './log_in';

看起来您没有从log_In文件中导出onSubmitLog_In,错误是这样说的。看起来您没有从log_In文件中导出onSubmitLog_In,错误是这样说的。您说的更短的方式是什么意思?导入*作为登录自'/log_In';类似于此,请阅读此内容-如果文件中有多个命名导出,则可以使用较短的方式。@ItzikSaviya,检查更新的答案和演示链接。较短的方式是什么意思?以登录方式从“/log_in”导入*;类似于此,请阅读此内容-如果文件中有多个命名导出,则可以使用较短的方式。@ItzikSaviya,请检查更新的答案和演示链接。