2017-05-21 9 views
0

私はReact + Reduxアプリケーションを構築しようとしています。私はRedux Thunkを使用しています。Redux Thunk/Eslint erro

私の行動のクリエイターの一つは次のようになります。

import api from '../api'; 

export const FETCH_BOOKS = 'FETCH_BOOKS'; 

export default() => dispatch => 
    api 
    .books() 
    .perPage(-1) 
    .then(books => 
     dispatch(books => ({ 
     type: FETCH_BOOKS, 
     books, 
     })) 
    ) 
    .catch(error => 
     dispatch(e => ({ 
     type: 'ERROR', 
     error: e, 
     })) 
    ); 

しかし、私はyarn run build:productionを実行すると、私はエラー(複数可)を取得:

ERROR in ./scripts/ll-app/actions/fetch-books.js 

/Users/joneslloyd/resources/assets/scripts/ll-app/actions/fetch-books.js 
    9:11 warning 'books' is defined but never used          no-unused-vars 
    11:9 error Expected an assignment or function call and instead saw an expression no-unused-expressions 
    11:9 error 'books' is already declared in the upper scope       no-shadow 
    17:12 warning 'error' is defined but never used          no-unused-vars 
    19:9 error Expected an assignment or function call and instead saw an expression no-unused-expressions 
    19:9 error 'error' is already declared in the upper scope  

はしかし、私は(books配列を渡したいです非同期api呼び出しから返された)をディスパッチ(ディスパッチに渡された無名関数)に渡し、次にbooks配列をアクションに含めます。

ここで何か問題がありますか?

内部参照の名前をbooksに変更しても、それは役に立ちません。

それは私がここにES6で何かを見下ろすてることが可能です..しかし、私は基本的に(thenメソッドのパラメータとして)API呼び出しから返さbooks配列を取り、その後の内部dispatch機能にそれを渡したいです私が渡している匿名関数のパラメータとして、それは、それは、優れたものとなるでしょう。

ありがとう!

答えて

2

これが問題の原因であるかどうかはわかりませんが、どうしてなぜ本を内部参照する必要がありますか?あなたのエラーmsg/linterはそれについて不平を言っています。

... 
    api 
.books() 
.perPage(-1) 
.then(books => 
    dispatch({ 
    type: FETCH_BOOKS, 
    books, 
    }) 
).catch(error => dispatch({type: ERROR, error})) 

なぜあなたは何をしたいのですか?

ここでの発送に必要な機能はありません。

発送は平易な処置が必要です。ディスパッチの関数がエラーを出しています。 ドキュメントでディスパッチ中の関数を見ると、それらの関数はアクションを返すだけの関数呼び出しです。

export someActionCreator =() => ({type: ACTION, payload}) 
dispatch(someActionCreator()); 

あなたの機能は単なるステートメントであり、アクションをディスパッチに戻していません。

export someActionCreator =() => ({type: ACTION, payload}) 
dispatch(someActionCreator); 

の違いを参照してください。

希望すると便利です。

+0

あなたは完全に正しいです!ありがとうございます:) 内部のリファレンスを 'books' /' error'に移動すると、あなたの説明が完全に理解されます(私はES6をかなり熟知しています)。 乾杯 –

関連する問題