ReactJS-不能呈现功能组件

发布于 2025-02-02 15:05:34 字数 4561 浏览 2 评论 0原文

我正在尝试渲染功能组件。但是由于某种原因,我在控制台上获得此句子您需要启用JavaScript运行此应用程序。

这是app.js

import './App.css';
import Home from './components/pages/home/Home';
import SignUp from './components/pages/sign/SignUp';
import Checking from './components/pages/sign/Checking';
import Login from './components/pages/sign/Login';
import Summery from './components/pages/summery/Summery';
import UserList from './components/pages/users/Users';
import { BrowserRouter as Router, Route, Routes } from 'react-router-dom';
import UploadFiles from './components/pages/files/UploadFiles';

function App() {
  return (
    <Router>
      <Routes>
        <Route exact path='/' element= {<Home />}/>
        <Route path='/sign-up' component= {Checking } />
        <Route path='/log-in' element= {<Login />} />
        <Route path='/admin' element= {<Summery />} />
        <Route path='/users' element= {<UserList />} />
        <Route path='/files' element= {<UploadFiles />} />
      </Routes>
    </Router>
  );
}

export default App;

home,login,login,summery,summery,summery,userList uploadfiles是React组件,而不是功能。 只有检查是一个函数(尝试将所有内容转换为功能组件)。 它们全部渲染,但只有检查登录控制台您需要启用JavaScript运行此应用程序。

这是检查

import React from "react";
import '../../../App.css';
import Button from '@material-ui/core/Button';
import SendIcon from '@material-ui/icons/Send';
import axios from 'axios';
import bcrypt from 'bcryptjs';
import Navbar from "../../navbar/Navbar";
import { useNavigate  } from 'react-router-dom';

export default function Checking() {
    const [companyID, setCompanyID] = React.useState('');
    const [email, setEmail] = React.useState('');
    const navigate = useNavigate();

    function handleSubmit(Event) {
        Event.preventDefault();
            axios.post('/sign-up', {
                companyID: companyID,
                email: email})
              .then(res =>{
                  //console.log(res.json());
                  console.log(res);
                    if(res.status === 200){
                        //this.app();
                        //history.push('/login');
                    }else if (res.status === 400){
                        console.log("duplicate ID");
                    }
            }).catch(err =>{
                    // console.log("duplicate ID");
                    // console.log(err);
            });
        }  
    }
        return (
            <>
            <Navbar />
            <div className="register-container" ref={this.props.containerRef}>
                <h1 className="sign-up">SIGN UP</h1>
                <form onSubmit={handleSubmit}>
                    <div className="form">
                        <div className="form-group">
                            {/* <label htmlFor="company id">Company ID : </label> */}
                            <input
                                type="number" 
                                name="companyID" 
                                placeholder="Company id" 
                                value={companyID}
                                onChange={(e) => setCompanyID(e.target.value)}
                                required/>
                        </div>
                        { <div className="form-group">
                            {/* <label htmlFor="email">Email : </label> */}
                            <input
                                type="text" 
                                name="email" placeholder="Email"
                                value={email}
                                onChange={(e) => setEmail(e.target.value)}
                                required/>
                        </div> }
                        
                        <div className="registerbtn">
                            {/* <button type="submit" class="btn btn-primary">Submit</button> */}
                            <Button type="submit" endIcon={<SendIcon />} color="primary" variant="contained">
                              Sign Up
                            </Button>
                        </div>
                    </div>
                </form>
            </div>
            </>
        );
}

。错误的?

I'm trying to render a functional component. But for some reason, I'm getting this sentence on the console You need to enable JavaScript to run this app.

This is App.js

import './App.css';
import Home from './components/pages/home/Home';
import SignUp from './components/pages/sign/SignUp';
import Checking from './components/pages/sign/Checking';
import Login from './components/pages/sign/Login';
import Summery from './components/pages/summery/Summery';
import UserList from './components/pages/users/Users';
import { BrowserRouter as Router, Route, Routes } from 'react-router-dom';
import UploadFiles from './components/pages/files/UploadFiles';

function App() {
  return (
    <Router>
      <Routes>
        <Route exact path='/' element= {<Home />}/>
        <Route path='/sign-up' component= {Checking } />
        <Route path='/log-in' element= {<Login />} />
        <Route path='/admin' element= {<Summery />} />
        <Route path='/users' element= {<UserList />} />
        <Route path='/files' element= {<UploadFiles />} />
      </Routes>
    </Router>
  );
}

export default App;

Home, Login, Summery, UserList and UploadFiles are React Components and not functions.
Only Checking is a function (Trying to convert everything to a function component).
They all render but only Checking logging into console You need to enable JavaScript to run this app.

This is Checking.js file

import React from "react";
import '../../../App.css';
import Button from '@material-ui/core/Button';
import SendIcon from '@material-ui/icons/Send';
import axios from 'axios';
import bcrypt from 'bcryptjs';
import Navbar from "../../navbar/Navbar";
import { useNavigate  } from 'react-router-dom';

export default function Checking() {
    const [companyID, setCompanyID] = React.useState('');
    const [email, setEmail] = React.useState('');
    const navigate = useNavigate();

    function handleSubmit(Event) {
        Event.preventDefault();
            axios.post('/sign-up', {
                companyID: companyID,
                email: email})
              .then(res =>{
                  //console.log(res.json());
                  console.log(res);
                    if(res.status === 200){
                        //this.app();
                        //history.push('/login');
                    }else if (res.status === 400){
                        console.log("duplicate ID");
                    }
            }).catch(err =>{
                    // console.log("duplicate ID");
                    // console.log(err);
            });
        }  
    }
        return (
            <>
            <Navbar />
            <div className="register-container" ref={this.props.containerRef}>
                <h1 className="sign-up">SIGN UP</h1>
                <form onSubmit={handleSubmit}>
                    <div className="form">
                        <div className="form-group">
                            {/* <label htmlFor="company id">Company ID : </label> */}
                            <input
                                type="number" 
                                name="companyID" 
                                placeholder="Company id" 
                                value={companyID}
                                onChange={(e) => setCompanyID(e.target.value)}
                                required/>
                        </div>
                        { <div className="form-group">
                            {/* <label htmlFor="email">Email : </label> */}
                            <input
                                type="text" 
                                name="email" placeholder="Email"
                                value={email}
                                onChange={(e) => setEmail(e.target.value)}
                                required/>
                        </div> }
                        
                        <div className="registerbtn">
                            {/* <button type="submit" class="btn btn-primary">Submit</button> */}
                            <Button type="submit" endIcon={<SendIcon />} color="primary" variant="contained">
                              Sign Up
                            </Button>
                        </div>
                    </div>
                </form>
            </div>
            </>
        );
}

What am I doing wrong?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

守护在此方 2025-02-09 15:05:34

检查也是一种反应组件,您需要像其他情况一样渲染它。

<Route path='/sign-up' element= {<Checking/> } />

Checking is also a react component and you need to render it like the others.

<Route path='/sign-up' element= {<Checking/> } />
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文