Reactjs Redux中间件中的Do dispatch无法触发connect MapStateTrops中的状态更改
我正在编写一个Redux中间件,我愿意在调用reducer函数之前和之后进行调度,中间件代码示例如下:Reactjs Redux中间件中的Do dispatch无法触发connect MapStateTrops中的状态更改,reactjs,redux,react-redux,middleware,Reactjs,Redux,React Redux,Middleware,我正在编写一个Redux中间件,我愿意在调用reducer函数之前和之后进行调度,中间件代码示例如下: const myMiddleware = store => next => action => { dispatch({type: 'xxx', payload: { xxx: true }}) next(action) dispatch({type: 'xxx', payload: { xxx: false }}) } 我还使用react-
const myMiddleware = store => next => action => {
dispatch({type: 'xxx', payload: { xxx: true }})
next(action)
dispatch({type: 'xxx', payload: { xxx: false }})
}
我还使用react-redux将redux商店与react连接起来,如下所示:
@connect((state, ownProps) => {
...
return {
xxx
}
})
class MyComponent extends Component {
render() {
....
return (
....
)
}
}
但是为什么mapStateToProps总是返回xxx=false
,而xxx可能是
Redux Devtool扩展是否观察到true和false?因为调度是同步的,在React有机会重新渲染之前,您正在将标志重置回
false
如果将一些日志添加到
mapState
,我希望看到的是mapState
实际上正在为两个已调度的操作运行。但是,React在整个调度序列完成之前不会渲染,因此第一次更新与第二次更新一起批处理,并且您永远不会看到具有true
值的渲染。因为调度是同步的,并且在React有机会重新渲染之前,您正在将标志重置回false
如果将一些日志添加到
mapState
,我希望看到的是mapState
实际上正在为两个已调度的操作运行。但是,React在整个调度序列完成之前不会渲染,因此第一次更新会与第二次更新一起批处理,并且您永远不会看到具有true
值的渲染。您可以共享ownProps
对象吗?您可以共享ownProps
对象吗?