this.props.location.pathname
我的最终目标是在进行 API 调用时访问redux-saga 内部。这是我当前的工作解决方案,尽管反应引发错误。我正在mxstbr/react-boilerplate-brand
用作我的代码库。
在我的包装组件中App
,我的渲染方法中有以下行。
render() {
this.props.onUpdateLocation(this.props.location)
}
在我的mapDispatchToProps
我有以下。基本上我只是保存this.props.location
到 React 商店:
function mapDispatchToProps(dispatch) {
return {
onUpdateLocation: (location) => {
dispatch(updateLocation(location));
},
dispatch,
};
}
在我的内部,我redux-saga
从状态访问该位置并根据需要使用它;然而,这是 React 引发的错误。
warning.js:44 Warning: setState(...): Cannot update during an existing state transition (such as within `render` or another component's constructor). Render methods should be a pure function of props and state; constructor side-effects are an anti-pattern, but can be moved to `componentWillMount`.
我不能把它放进去,componentWillMount
因为它只会在应用程序启动时被触发一次,我不能把它放进去,componentWillUpdate
因为在方法中this.props.location
得到了更新。render
我不能把它放进去,componentDidUpdate
因为太晚了。
我只是错过了一些简单的方法来访问我的 redux-saga 中的 react-router 位置吗?