2017-08-14 21 views
0

私はそれを行う方法の信頼できる情報源を見つけることができませんでした。redux sagasをファイルに分割する正しい方法は何ですか?

私は次の形式で私のアプリを構築しようとしている:

  • コンテナ1
    • container.js
    • reducer.js
    • selectors.js
    • サガ。 js
  • Cont ainer 2
    • container.js
    • reducer.js
    • selectors.js
    • sagas.js

そして、ちょうどすべてのインポートう1つのルートサガファイルを持っています副サガと物事を起こさせてください。

私の典型的なサガファイルは次のようになります。

/** 
* watch something 
*/ 
function* watchSomething() { 
    yield takeLatest(GET_SOMETHING, callGetSomething); 
} 

export const somethingSagas = [ 
    watchSomething 
]; 

export default watchSomething; 

そして、私のルート佐賀:

import JolterSagas from '/path/to/container/sagas'; 

export default function* root() { 
    yield all([ 
     SomethingSagas.map((saga) => fork(saga)) 
    ]); 
}; 

作業が、私は私のコンソールで、次の取得:

[。 ..effects]は廃止されました([...効果])、コードを更新してください

コードをどのように変更しても、動作していないか、この警告が表示され続けます。

私はそれを行う方法を示す最新の信頼できる文書を見つけることができませんでした。公式文書のすべての例は小さく、1つです。

ありがとうございました。

答えて

1

私はあなたがあなたがredux-saga/effects

import { takeEvery, takeLatest, fork } from `redux-saga/effects` 

yield all(SomethingSagas.map((saga) => fork(saga))); 

からtakeEverytakeLatestをインポートする必要がありそして、あなたの冒険談を構造化する一切権利方法はありませんredux-saga からtakeEverytakeLatestをインポートしていると思います。それはあなたのプロジェクト、コーディングスタイルに依存します。

+0

実際には、私は効果からそれをインポートします – superuser123

+0

@ superuser123そして、関数* rootで[]を削除しましたか? – ZeroCho

+0

ホ...今はなくなってしまった!ありがとう – superuser123

関連する問題