如何訪問saga函數中的redux狀態?如何從狀態/商店裏獲取某些內容到redux-saga函數中?
我的問題
我都擁有一個由以下幾部分組成的應用程序:
TOOLBAR
---------------------------------
User info | Current Project
每個部分是不同的組件,它有自己減速,傳奇,動作和狀態。
工具欄上有一個保存按鈕,用於分派「SAVE_PROJECT」操作類型。問題是我不希望工具欄知道該項目(它有更多的責任,我只是希望它用派發動作類型)。
我有一個項目相關的傳奇偵聽到「SAVE_PROJECT」:
...
export function* saveProjectTask() {
while(true) {
yield take(SAVE_PROJECT);
let project = /* THIS IS THE PROBLEM, I DON'T HAVE THE PROJECT */;
yield call(fetch, '/api/project', { body: project, method: 'PUT' });
yield put({type: SAVE_PROJECT_SUCCESS});
}
}
我無法從佐賀裏面了Redux狀態的項目。
我不認爲我可以聽curren project reducer內的「SAVE_PROJECT」事件,然後在reducer裏面獲取項目並派發一個與項目不同的動作。
我真的不希望我的工具欄知道整個狀態樹,併發送與每個動作相關的動作。
如何將狀態自己傳遞給傳奇?還是隻有國家的有關部分?
正是我想要的..我無法相信我錯過了它 –