原因:在namespace为’settings’的js文件中调用dispatch,不需要加上settings前缀,
解决办法:删除settings/即可
import { Reducer, Subscription } from 'umi';
const SettingModel= {
namespace: 'settings',
state: defaultSettings,
reducers: {
changeSetting(state = defaultSettings, { payload }) {
...
return {
...state,
...payload,
};
},
},
subscriptions: {
setup( { history, dispatch } ) {
...
dispatch( {
type: 'settings/changeSetting',
// 改成 type: changeSetting',
layout: {layout: "top"},
} )
...
},
},
};
export default SettingModel;