2017-08-14 19 views
0

我無法找到如何做到這一點的可靠來源。什麼是正確的方式來分割文件的減壓縮傳奇?

我試圖構建我的應用程序在以下形式:

  • 容器1個
    • container.js
    • reducer.js
    • selectors.js
    • 傳奇。 js
  • Cont ainer 2
    • container.js
    • reducer.js
    • selectors.js
    • sagas.js

而且有一個根的傳奇文件,將剛剛導入所有的分傳統,讓事情發生。

我的典型傳奇文件看起來像這樣:

/** 
* 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

我猜你是從redux-saga 進口takeEverytakeLatest你必須從redux-saga/effects

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

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

導入takeEverytakeLatest還有的組織你的英雄傳奇沒有正確方式。它依賴於你的項目,你的編碼風格。

+0

其實不,我從效果中導入 – superuser123

+0

@ superuser123你是否刪除了函數* root中的[]? – ZeroCho

+0

ho ...現在它消失了!謝謝 – superuser123

相關問題