2017-06-11 1 views
0

私はRedux exampleでこの矢印機能をSWA:矢印関数からオブジェクトを暗黙的に返す方法は?

export const addTodo = (text) => { 
    return { 
    type: 'ADD_TODO', 
    id: nextTodoId++, 
    text 
    } 
} 

私は基本的にブロックを取り除く、私は{ return ...; }の余分な層を取り除くことができるかどうか不思議でしたか?

const fn = (a) => a + 1; 
const fn = (a) => { return a+1; }; 

及びIは、第二の、より詳細なバージョンからreturnを取り除くことができる。例示のため

は、次の2つの矢印の機能は同じです。

しかし、私はReduxの例に同じことを行うとリターン層を除去するとき、私はエラーを取得:

SyntaxError: repl, unexpected token, expected ; ...

オブジェクトリテラル、コードブロック内{}の間にいくつかの混乱があるようです。この余分なレイヤーをここから取り除く方法はありますか?

答えて

0

あなたは、このような余分な括弧を追加することによって、混乱を防ぐことができます -

export const addTodo = (text) => (
    { 
    type: 'ADD_TODO', 
    id: nextTodoId++, 
    text 
    }) 

また、あなたは(間違いなく)読みやすくするために、より明示的なObject.assignを使用することができます:)

0

を助けた希望:

const addTodo = text => Object.assign({ 
    type: 'ADD_TODO', 
    id: nextTodoId++, 
    text 
}) 
関連する問題