我將如何獲得當前路徑和redux路由器在reducer當前位置的查詢。我能夠通過mapStateToProps輕鬆獲取組件內的路徑名,但我想訪問reducer中的當前路徑。我使用的是redux-router 1.0.0-beta7,react-router 1.0.3。如何訪問reducer(redux-router)中的當前位置?
6
A
回答
12
.way - 通過redux-thunk和的getState()通過路徑名特別動作
const someAction = data =>(dispatch,getState)=>{
dispatch({
type:'SOME_ACTION',
pathname:getState().router.pathname
})
}
.way - 寫中間件和通過路徑名與每一個動作
///write middleware
export const attachPathNameToAction = store => next => action=>{
action.pathname = store.getState().router.pathname //<-----passing pathname
next(action)
};
///then in reducer you allways can get pathname
case 'SOME_ACTION':
let pathname = action.pathname \\ <-------------
return {...state, action.data}
.way - 從組件的this.props.location.pathname
//in component
let {pathname}= this.props.location;
this.props.someAction(data, pathname);
//workflow: component -> action -> reducer
+2
中間件解決方案非常棒!感謝那。 我真的很奇怪他們爲什麼沒有插件。 – Tomer
+0
請注意它是'... .router.location.pathname',而不是'... .router.pathname'。 –
相關問題
- 1. 如何訪問iframe的當前位置?
- 2. 如何訪問XText中當前打開的文件的位置
- 3. 獲取訪問者的當前位置
- 4. 當前位置警報訪問
- 5. 保存UIWebView訪問當前位置
- 6. 如何讓UIWebView訪問當前的GPS位置
- 7. 如何訪問當前起始位置的相鄰元素?
- 8. Redux和Reducer中訪問不同的reducer,如何?
- 9. 如何在「@」當前位置
- 10. 當前位置問題
- 11. Gps當前位置問題
- 12. 如何將iphone中的當前位置
- 13. 訪問動畫過程中UIView的當前位置
- 14. 如何第二次詢問用戶允許訪問當前位置的權限?
- 15. 如何在Android中通過GPS在室內訪問我的當前位置?
- 16. 如何訪問視圖處理程序中的當前配置?
- 17. 如何訪問位置?
- 18. Android中的當前位置
- 19. mapkit中的當前位置
- 20. 當前位置
- 21. UIAlertView要求訪問當前位置錯誤的方向
- 22. 如何訪問當前的佔位符值?
- 23. 如何訪問反應路由器2上的當前散列位置?
- 24. 如何獲取當前的iScroll位置?
- 25. 如何進入gwt的當前位置?
- 26. 如何獲取當前的GPS位置?
- 27. 獲取當前位置的問題
- 28. 當前位置的GPS跟蹤問題
- 29. 如何訪問OwlCarousel的當前屬性?
- 30. 如何訪問當前的bg圖像?
通路徑也許你可以通過行動創世傳遞路徑進入減速? –
爲什麼要複製當前路徑的「真相源」?如果您需要訪問當前路徑,只需從'props'中獲取它,因爲'router'會自動傳遞。路由器是路由位置的真實來源,不需要在redux中複製它。如果您需要從作者Redux中聽到它,請觀看以下內容:https://egghead.io/lessons/javascript-redux-filtering-redux-state-with-react-router-params – lux
這就是[redux-router] (https://github.com/acdlite/redux-router#differences-with-react-router-redux)的作品 –