我已经阅读了许多关于“意外令牌”的现有React.js帖子,但这些建议似乎都没有帮助 . 所以我发布了有关此错误的另一个问题 .

我是React开发的新手,当我尝试导入呈现自定义表组件的'.js'文件时,我收到错误 .

这是我的index.js文件

import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
import './index.css';

ReactDOM.render(
  <App />,
  document.getElementById('root')
);

我的app.js文件

import React, { Component } from 'react';
import logo from './th.jpg';
import './App.css';

import Table2 from '../components/table.js'

import Axios from 'axios'


import { BootstrapTable, TableHeaderColumn } from 'react-bootstrap-table';
import '../node_modules/react-bootstrap-table/css/react-bootstrap-table.css';


const Card = (props) => {
    return (
    <div style={{margine: '1em', float: 'left'}}>
        <img width='75' src={props.avatar_url} alt="Not Available" />
      <div style={{display: 'inline-block', marginLeft: 10, color: 'red'}}>
        <div style={{fontSize: '1.25em', fontWeight: 'bold', color: 'blue'}}>
            {props.name}
        </div>
        <div>{props.company}</div>
      </div>
    </div>
  );
};

const PetInfo = (props) => {
  return (
    <div>
      <div key={props.id} style={{margine: '1em', float: 'left'}}> 
        <div style={{margine: '10em', float: 'left', paddingLeft: '2px'}}>{props.name}</div>
        <div style={{margine: '10em', float: 'left', paddingLeft: '2px'}}>{props.type}</div>
        <div style={{margine: '10em', float: 'left', paddingLeft: '2px'}}>{props.breed}</div>
        <div style={{margine: '10em', float: 'left', paddingLeft: '4px'}}>{props.location}</div>
        <div style={{margine: '10em', float: 'left', paddingLeft: '4px'}}>{props.logitude}</div>
        <div style={{margine: '10em', float: 'left', paddingLeft: '4px'}}>{props.latitude}</div>
        

</div> <div style={{clear: 'both'}}></div> </div> ); } const CardList = (props) => { return ( <div style={{margine: '1em', float: 'left'}}> {props.cards.map(cards => <Card {...cards}/>)} </div> ); }; const PetInfoList = (props) => { return ( <div> {props.petinfos.map(petinfos => <PetInfo {...petinfos}/>)} </div> ); } class Form extends React.Component { state = { userName: '' } userNameInput; handleSubmit = (event) => { event.preventDefault(); //console.log('Event Submit', this.state.userName); // Retrieve a single user fro GitHub API ... could use Ajax Call // but this environment comes with axios installed, so use that Axios.get('https://api.github.com/users/' + this.state.userName) .then(resp => { this.props.onSubmit(resp.data); }); }; render() { return ( <form onSubmit={this.handleSubmit} style={{margine: '1em', float: 'left'}}> <input type="text" value={this.state.userName} onChange={(event) => this.setState({ userName: event.target.value })} placeholder="GitHub Username" required/> <button type="submit">Add Card</button> </form> ); } } class Table1 extends Component { render() { return ( <div> <BootstrapTable data={this.props.data}> <TableHeaderColumn isKey dataField='_id'>ID </TableHeaderColumn> <TableHeaderColumn dataField='name'>Name </TableHeaderColumn> <TableHeaderColumn dataField='type'>Type </TableHeaderColumn> <TableHeaderColumn dataField='breed'>Breed </TableHeaderColumn> <TableHeaderColumn dataField='location'>Location </TableHeaderColumn> <TableHeaderColumn dataField='logitude'>Longitude </TableHeaderColumn> <TableHeaderColumn dataField='latitude'>Latitude </TableHeaderColumn> </BootstrapTable> </div> ); } } class App extends Component { state = { cards: [], petinfos: [] } addNewCard = (cardInfo) => { //console.log(cardInfo); this.setState(prevState => ({ cards: prevState.cards.concat(cardInfo) })); console.log('test'); }; componentDidMount() { this.GetPetList(); } GetPetList() { Axios.get('http://localhost:8000/api/petinfos') .then(resp => { console.log(resp); this.setState({ petinfos: resp.data }); //this.state.petinfos = resp.data; }); console.log(this.state.petinfos); }; render() { return ( <div className="App" style={{flex: .75}}> <div className="App-header"> <img src={logo} className="App-logo" alt="logo" /> <h2>Welcome to the Pet Weather Application</h2> </div> <div> <Form onSubmit={this.addNewCard}/> <CardList cards={this.state.cards} />

<PetInfoList petinfos={this.state.petinfos} /> </div>

<div> <div style={{float: 'left', flex: .25}} /> <div style={{float: 'left', flex: .75}}> <p className="Table-header">Basic Table</p> <Table1 data={this.state.petinfos} /> </div> <div style={{float: 'left', flex: .25}} /> </div> </div> ); } } export default App;
  • 我为所有看似无关的代码道歉,但我稍后会要求它 .

这是我试图导入的table.js文件

import React from 'react';
import { Component } from 'react';
import { BootstrapTable, TableHeaderColumn } from 'react-bootstrap-table';
import '../node_modules/react-bootstrap-table/css/react-bootstrap-table.css';


class Table2 extends React.Component {
    render() {
        return (
            <div className='table'>
                <BootstrapTable data={this.props.data}>
                    <TableHeaderColumn isKey dataField='id'>
                    </TableHeaderColumn>
                    <TableHeaderColumn dataField='name'>
                    </TableHeaderColumn>
                    <TableHeaderColumn dataField='type'>
                    </TableHeaderColumn>
                    <TableHeaderColumn dataField='breed'>
                    </TableHeaderColumn>
                    <TableHeaderColumn dataField='location'>
                    </TableHeaderColumn>
                    <TableHeaderColumn dataField='logitude'>
                    </TableHeaderColumn>
                    <TableHeaderColumn dataField='latitude'>
                    </TableHeaderColumn>                                        
                </BootstrapTable>
            </div>
        );
    }
}

export default Table2;

如果Table2的导入被注释掉,那么应用程序可以正常工作 . 如果取消注释导入,则会收到以下错误...

./components/table.js中的错误模块解析失败:C:\ Node_Express \ PetWeatherApp \ pet-weather-app \ components \ table.js意外的令牌(10:3)您可能需要一个合适的加载器来处理此文件类型 . SyntaxError:意外的令牌(10:3)@ . / src / App.js 22:13-46

注意:(10,3)等同于具有属性“className ='table'”的标记 .

我无法确定为什么我收到此错误,特别是当我将app.js文件导入index.js文件时,我没有遇到任何问题 . 任何帮助将不胜感激 .