2017-10-17 12 views
0

バベルとES2015のプリセットで次のコード(redux reducer)を蒸散させる問題に遭遇しています。私は(間違って)このコードを転送できると仮定しています。 STAGE0プリセットとBabelはES2015ではなくStage0プリセット

const todos = (state = [], action) => { 
    switch (action.type) { 
     case 'TOGGLE_TODO': 
     return state.map(todo => 
      (todo.id === action.id) 
       ? { 
       ...todo, 
       completed: !todo.completed 
       } 
       : todo 
      ) 

     default: 
     return state 
    } 
} 

export default todos 

エラーメッセージ

repl: Unexpected token (7:16) 
    5 |    (todo.id === action.id) 
    6 |     ? { 
> 7 |     ...todo, 

Transpilingが正常に動作します。私はBabel onlineでこのbehaivorを確認しました。

答えて

1

preset-2016ので、ステージの一部であるobject spread演算子を使用しています。ステージ3になりました

+0

お返事ありがとうございます。これは確かに問題でした。なぜ私の同僚がbabelのデフォルトプリセットを使ってこれを置き換えることができるのだろうかと疑問に思っています。私はこれを明示的に設定する必要があります – Christoph

+0

私は彼が開発に使っていると思っていますが、本当ですか? – imcvampire

+0

いいえ、私たちはバージョン6.26.0の '' 'babel src --out-file index.js --source-maps''を問題のファイルを翻訳するために使いました。私たちは、npmリンクとシンボリックリンクを使用しているときにウェブパックの設定に問題があるため、私用モジュールのモバイルとWebアプリケーション間でコードを共有するためにこれを行いました。とにかくもう一度ありがとう! – Christoph

0

あなたは、オブジェクトの残りの広がりをサポートしていません3.

関連する問題