2015-06-19 4 views
0

Я пытаюсь использовать оператор спреда в response.js, но получаю ошибку Unexpected token ... в Chrome.Reactjs - оператор распространения, дающий ошибку

Я получаю сообщение об ошибке в строке 3 в этом коде:

var Btn=React.createClass({ 
    render: function(){ 
     var { className, ...other }=this.props; 
     return (<a {...other} className={joinClasses(className,"btn")} href="#" >{this.props.children}</a>); 
    } 
}); 

и используя JSXtransformer.js для компиляции кода JSX.

Что я делаю неправильно, что вызывает ошибку?

ответ

2

Хром не поддерживает токен ....

См. this page для поддерживаемых браузеров (или см. Ниже).

операция Разброс литералов массива

  • Хром - 46
  • Firefox - 16
  • Internet Explorer - Нет
  • Opera - Нет
  • Safari - 7,1

операция Разброс вызовов функции

  • Chrome - 46
  • Firefox - 27
  • Internet Explorer - Нет
  • Opera - Нет
  • Safari - операция 7,1

Spread в деструктурировании

  • хром - Нет
  • Firefox - 34

См this answer, чтобы увидеть, как настроить JSX трансформатор использовать "ES6" трансформаций.

+0

Это код JSX, а не JS, поэтому я думал, что символ '...' реализуется, а не браузером. Разве это не так? – jitin

+0

JSX преобразует ваш html-ish материал в вызовы функций в пространстве имен React.DOM, но об этом. Итак, нет –

+0

Вы можете увидеть сгенерированный js здесь: https://facebook.github.io/react/jsx-compiler.html –

Смежные вопросы