を返す私はhttps://github.com/tayiorbeii/egghead.io_redux_course_notes/blob/master/08-Reducer_Composition_with_Arrays.mdはリアクト - Reduxの減速でスプレッドオペレータがエラー「予期しないトークン」
でダン・アブラモフ監督のコードを踏襲し、私が参照して、エラーメッセージ「22行で予期しないトークン」を取得しています... TODO ませんでしたそれはバベルのプリセットと関係があると思います...州はうまくいきます。 map関数の中でtodoを... stateに置き換えると、同じエラーが返されます。
///Reducer//
export default (state=[], action) => {
switch (action.type) {
case 'ADD_TODO':
return [...state,
{
id:action.id,
text: action.text,
completed:false
}
];
case 'TOGGLE_TODO':
return state.map(todo => {
if (todo.id !== action.id) {
return todo;
}
return {
...todo, //returning error
completed: !todo.completed
};
});
default:
return state;
}
}
私の呼び出しコード:
it('handles TOGGLE_TODO',() => {
const initialState = [
{
id:0,
text: 'Learn Redux',
completed: false
},
{
id:1,
text: 'Go Shopping',
completed: false
}
];
const action = {
type: 'TOGGLE_TODO',
id: 1
}
const nextstate = reducer(initialState,action)
expect (nextstate).to.eql([
{
id:0,
text: 'Learn Redux',
completed: false
},
{
id:1,
text: 'Go Shopping',
completed: true
}
])
スプレッド演算子は、それがために働く理由である、配列やオブジェクトのために異なって定義されにそれをdesugar ... ...とは言いません。どこに.babelrcファイルがありますか?オブジェクト広がり演算子を使用するには、少なくとも2段階目が必要です。https://github.com/sebmarkbage/ecmascript-rest-spread –
私は.babelrcファイルを持っていませんでした。私は今、1つを作成して、私はインストールし、 "変換オブジェクトの残りの広がり"のプラグインを.babelrcファイルに追加したが、私は突然、インポートが予約語であるというエラーメッセージが表示され始めた。そこで、.babelrcの中にES2015プリセットを追加しました。私はES2015が既に働いていたと思っていました。奇妙な... –