Ошибка: недопустимый тип элемента: ожидается строка (для встроенных компонентов) или класс / функция (...) Проверьте метод рендеринга `Carlist` - PullRequest
0 голосов
/ 01 мая 2020

Я слежу за книгой о разработке fullstack в Spring + React. Я новичок ie, и я следовал коду, указанному в книге, но я получаю сообщение об ошибке в названии. Я знаю, что это может иметь какое-то отношение к импорту, но я озадачен тем, где может быть проблема.

Приложение. js

import React from 'react';
import './App.css';
import AppBar from '@material-ui/core/AppBar';
import Toolbar from '@material-ui/core/Toolbar';
import Typography from '@material-ui/core/Typography';
import Carlist from './components/Carlist';

function App() {
  return (
    <div className="App">
      <AppBar position="static" color="default">
        <Toolbar>
          <Typography variant="h6" color="inherit">
            CarList
          </Typography>
        </Toolbar>
      </AppBar>
      <Carlist></Carlist>
    </div>
  );
}

export default App;

Carlist. js

import React, { Component } from 'react';
import {SERVER_URL} from '../constants.js'
import ReactTable from "react-table";

class Carlist extends Component {
  constructor(props) {
    super(props);
    this.state = { cars: []};
  }

  componentDidMount() {
    fetch(SERVER_URL + 'api/cars')
    .then((response) => response.json()) 
    .then((responseData) => { 
      this.setState({ 
        cars: responseData._embedded.cars,
      }); 
    })
    .catch(err => console.error(err)); 
  }


  render() {
    const columns = [{
      Header: 'Brand',
      accessor: 'brand'
     }, {
      Header: 'Model',
      accessor: 'model',
    }, {
      Header: 'Color',
      accessor: 'color',
    }, {
      Header: 'Year',
      accessor: 'year',
    }, {
      Header: 'Price €',
      accessor: 'price',
    },]

    return (
      <div className="App">
        <ReactTable data={this.state.cars} columns={columns} 
          filterable={true}/>
      </div>
    );
  }
}

export default Carlist;

1 Ответ

0 голосов
/ 02 мая 2020

Мне удалось найти проблему. Для всех, кто интересуется, способ рендеринга таблиц в реагирующих таблицах значительно изменился в версии 7. Решение - либо перейти на версию 6, либо следовать документации в версии 7 и скорректировать код.

Для сравнения : Реализация V7: https://github.com/tannerlinsley/react-table/blob/master/examples/basic/src/App.js реализация V6: https://www.npmjs.com/package/react-table-v6#example

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...