contact.js 712 B

12345678910111213141516171819202122232425262728
  1. import { queryContact } from '@/services/contact'
  2. export default {
  3. namespace: 'contact',
  4. state: {
  5. list: []
  6. },
  7. // 用于处理异步操作和业务逻辑,由action触发,但不能修改state
  8. effects: {
  9. *fetch({ payload }, { call, put }) {
  10. const response = yield call(queryContact, payload)
  11. yield put({
  12. type: 'show',
  13. payload: response
  14. })
  15. }
  16. },
  17. // reducers:用于处理同步操作,由action触发,可修改state
  18. reducers: {
  19. // action:是由reducers及effects的触发器,一般是第一个对象,如:{type:'add',payload:todo}
  20. show(state, action) {
  21. return {
  22. ...state,
  23. list: action.payload
  24. }
  25. }
  26. }
  27. }