2017-02-01 9 views
1

У нас есть приложение для реагирования с этим пунктом OurController. OurController работает нормально. Добавление следующий код из примера разбивает все приложения, страницы не будет оказывать в браузере:Ошибка сборки модуля: SyntaxError: Неожиданный токен (10:40) отредактируйте фиксированную таблицу данных

const TextCell = ({rowIndex, data, col, ...props}) => (
    <Cell {...props}> 
    {data.getObjectAt(rowIndex)[col]} 
    </Cell> 
); 

Начало файла

var FixedDataTable = require('fixed-data-table'); 
var React = require('react'); 

const Table = FixedDataTable.Table; 
const Column = FixedDataTable.Column; 
const Cell = FixedDataTable.Cell; 

const TextCell = ({rowIndex, data, col, ...props}) => (
    <Cell {...props}> 
    {data.getObjectAt(rowIndex)[col]} 
    </Cell> 
); 

class OurDataTable extends React.Component { 

Как только я закомментируйте, все хорошо, но Я хочу следовать учебник настолько близко, насколько это возможно

ошибка как

Module build failed: SyntaxError: Unexpected token (10:40) 
const TextCell = ({rowIndex, data, col, {issue is here}...props}) => (

ш Ith стрелкой, указывающей на ...props, кажущаяся, как он не понимает ... (стрелка указывает на первой точки)

enter image description here

Руководство является этот фрагмент для fixed-data-table:

https://github.com/facebook/fixed-data-table/blob/master/examples/ObjectDataExample.js

I знаю, что весь файл важен в целом, но я обещаю, что код работает так, как ожидается, до добавления TextCell. У нас есть определенные Бабель погрузчики, но я не видел таблицу фиксированной данных попросить больше:

var webpack = require('webpack'); 

module.exports = { 
    //devtool: 'inline-source-map', 
    entry: [ 
    'webpack-hot-middleware/client', 
    './client/main.js' 
    ], 
    output: { 
    path: require("path").resolve('./public'), 
    filename: 'bundle.js', 
    publicPath: '/' 
    }, 
    plugins: [ 
    new webpack.HotModuleReplacementPlugin() 
    ], 
    module: { 
    loaders: [ 
     { 
     test: /\.jsx?$/, 
     loader: 'babel-loader', 
     exclude: /node_modules/, 
     query: { 
      presets: ['react', 'es2015', 'react-hmre'] 
     } 
     } 
    ] 
    } 
}; 

Экспресс-сервер настроен также и работает (горячая перезагрузка и т.д.)

Мы использовали ES6 и работать как и в вещах, как

class OurDataTable extends React.Component {

и т.д.

ответ

1

Не уверен, но я думаю, что проблема связана с распространением оператора ..., вам необходимо настроить Babel на использование transform-object-rest-spread plugin.

Перейдите по этой ссылке, чтобы установить его: https://babeljs.io/docs/plugins/transform-object-rest-spread/

+0

бум, полагал, что это был какой-то нечетное погрузчик. спасибо, майанк, я проверяю – codyc4321