【问题标题】:React Component Not Rendering the content反应组件未呈现内容
【发布时间】:2021-03-08 07:58:45
【问题描述】:

React 路由器没有渲染我的 JSX。初始页面呈现里面的内容。当我单击添加员工时,它不显示组件的内容。它呈现一个空白页面。我是 React 的初学者。

CreateEmployeeComponent.jsx 呈现一个空白页面。

下面是每个文件的代码。提前致谢

App.js

import './App.css';
import React from 'react';
import ListEmployeeComponent from './components/ListEmployeeComponent';
import CreateEmployeeComponent from './components/CreateEmployeeComponent';
import HeaderComponent from './components/HeaderComponent';
import FooterComponent from './components/FooterComponent';
import { BrowserRouter as Router, Route, Switch } from 'react-router-dom'

function App() {
  return (
    <div>
      <Router>
        <div>
          <HeaderComponent />
          <div className="container">
            <Switch>
              <Route path="/" exact component={ListEmployeeComponent}></Route>
              <Route path="/employees" component={ListEmployeeComponent}></Route>
              <Route path="/add-emplyee" component={CreateEmployeeComponent}></Route>
            </Switch>
          </div>
          <FooterComponent />
        </div>
      </Router>
    </div>

  );
}

export default App;

ListEmployeeComponent

import React, { Component } from 'react';
import EmployeeService from '../services/EmployeeService';

class ListEmployeeComponent extends Component {
    constructor(props) {
        super(props)

        this.state = {
            employees: []
        }

        this.addEmployee = this.addEmployee.bind(this);
    }

    componentDidMount() {
        EmployeeService.getEmployees().then((res) => {
            this.setState({ employees: res.data });
        })
    }

    addEmployee() {
        this.props.history.push('/add-employee');

    }

    render() {
        return (
            <div>
                <h2 className="text-center">Employees List</h2>
                <div className="row">
                    <button className="btn btn-primary" onClick={this.addEmployee}>Add Employee</button>
                </div>
                <div className="row">
                    <table className="table table-striped table-bordered">
                        <thead>
                            <tr>
                                <th>Employee First Name</th>
                                <th>Employee Last Name</th>
                                <th>Employee Email Id</th>
                                <th>Actions</th>
                            </tr>
                        </thead>

                        <tbody>
                            {
                                this.state.employees.map(
                                    employee =>
                                        <tr key={employee.id}>
                                            <td> {employee.firstName} </td>
                                            <td> {employee.lastName} </td>
                                            <td> {employee.emailId} </td>

                                        </tr>
                                )
                            }
                        </tbody>

                    </table>

                </div>

            </div>
        );
    }
}

export default ListEmployeeComponent;

创建员工组件

import React, { Component } from 'react';

class CreateEmployeeComponent extends Component {
    
    render() {
        return (
            <div>
               <h1>Create Employee...</h1>
            </div>
            
        );
    }
}

export default CreateEmployeeComponent;

【问题讨论】:

    标签: javascript reactjs react-native


    【解决方案1】:

    你输入错误:/add-emplyee -> /add-employee.

          <Route path="/add-emplyee" component={CreateEmployeeComponent}></Route>
    

    请先检查

    【讨论】:

    • 我的错。谢谢。
    猜你喜欢
    • 2017-05-12
    • 2018-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-12
    相关资源
    最近更新 更多