触发dva的dispatch后,组件视图未更新
- 使用dispatch方法后,正确调用model下的reducers的某个方法,但是组件更新React组件中的render()方法未重新渲染
dispatch方法正常调用
state已正确更新
组件中也通过this.porps,正确获取到状态
但是就是不触发更新
export default {
namespace:'settingDrawer',
state: {
visible: false
},
reducers: {
'visible'(state:any, { payload }) {
state.visible = payload.visible
return state
},
},
}
原因:
state参数是引用类型,如果直接返回state,dva会认为没有修改state,所有不会刷新(同redux),正解代码
reducers: {
'visible'(state:any, { payload }) {
let newState = {...state}
newState.visible = payload.visible
return newState
},
},