読者です 読者をやめる 読者になる 読者になる

万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

React js Unexpected tokenで"..."

mix phoenix.serverしたときに発生

[info] Running Jikken.Endpoint with Cowboy using http://localhost:4000
04 Sep 16:19:19 - info: compiling
04 Sep 16:19:21 - error: Compiling of web/static/js/components/PagingPanel.js failed. SyntaxError: web/static/js/components/PagingPanel.js: Unexpected token (3:73)
  1 | import React from 'react';
  2 |
> 3 | export default ({page=1, page_size=5, count, onNextPage, onPreviousPage, ...props}) => {
    |                                                                          ^
  4 |     const total_pages = Math.ceil(count / page_size);
  5 |
  6 |     return <div className="row">

...propsの...がおかしい。 こいつはスプレッド演算子(spread operator)と呼ぶらしい。 ※スプレッドコール?でもいいのか?

スプレッド演算子 - JavaScript | MDN

Restパラメータに似ているが別物。 https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Functions_and_function_scope/rest_parameters

解決策

javascript - Browserify, Babel 6, Gulp - Unexpected token on spread operator - Stack Overflow

package.jsonへ以下を追加

  "devDependencies": {
    "babel-plugin-transform-object-rest-spread": "^6.3.13",
    "plugins": [
      "transform-object-rest-spread"
    ]