繁体   English   中英

“登录”未定义错误发生在 React.js

[英]'login' is not defined error happens in React.js

我在 React.js 中制作了前端应用程序。 我在前端的 App.js 中编写了代码,例如

import React, { Fragment, useState, useEffect, Component, View } from 'react';
import axios from 'axios';
import Routes from '../src/components/Routes';
import TopNavigation from './components/topNavigation';
import SideNavigation from './components/sideNavigation';
import Footer from './components/Footer';
import './index.css';
import Router from './Router';

const App = () => {
  const [user, setLogin] = useState(null)
  const [report, setReport] = useState(null)
  useEffect(()=>{
  login().then(user => setLogin(user))
}, [])
  useEffect(()=>{
  getReport().then(report => setReport(report))
}, [])
return <div>
  {user != null? <p>name: {user.name}</p>:<button>Login</button>}
</div>
}

export default App;

我在这段代码中写了login().then(user => setLogin(user))无论用户是否已经登录。 登录系统是在 Django 中制作的,所以我想使用它。我认为 React 有登录方法,但我真的不明白哪里出了问题。我应该如何解决这个问题?

我看不到您的代码中没有定义login 如果你在其他文件上写了login ,你应该导入它。

实际上,我无法理解你的意思——“我认为 React 有登录方法,但是......”。 React 不支持任何预定义的登录方法。

您应该像这样自己定义登录方法。

const API_URL = 'some url';
const login = async (body) => {
  const response = await axios.post(`${API_URL}/login`, body);
  return response.json();
};

const App = () => {
  const [user, setLogin] = useState(null);
  const [report, setReport] = useState(null);
  useEffect(() => {
    login({
      email: 'email@some.com',
      password: 'some password'
    }).then((user) => setLogin(user));
  }, []);
  useEffect(() => {
    getReport().then((report) => setReport(report));
  }, []);
};

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM