调数据主要流程

主要流程

1.查看接口文档:
2.根据接口文档的参数编写services
export function fetchUserOperator({page,page_rows,name,username}) {
  return request('/api/admin/sports/Operator/getOperatorUserList', {
      method: 'POST',
      body: JSON.stringify({
        page,
        page_rows,
        name,
        username
      }),
      /**请求头,有请求参数时要加(不同后端不同请求头) */
      headers: {
        'Content-Type': 'application/json'
      }
  });
}
3.根据接口文档返回的数据编写models
接口文档返回的数据示例:
编写models:
import * as operatorServices from '../services/operator';
/**将services里面的全部请求函数作为引入到该文件中*/
export default {
  /**同一个命名空间下可以有很多数据 */
  namespace: 'operator',
  state: {
    userOpeList:{},
  },

  effects: {
/**effects里面也可以有很多方法*/
    *fetchUserOperator({ payload }, { call, put }) { 
      const {data} = yield call(operatorServices.fetchUserOperator, payload);
      if(data && data.code === 200) {
        yield put({
          type: 'save', 
          payload: {
              userOpeList: data.info 
          }
        });
      } 
    },
  },
  reducers: {
    save(state, action) {
      return { ...state, ...action.payload };
    },
  },
};
在index.js中引入该model文件
4.编写组件
把store中的数据与组件connect起来,
export default connect((state)=>{
  return{
    userOpeList:state.operator.userOpeList
    /**命名空间operator下的userOpeList数据 */
  }
})(AddOperator);
组件触发动作:
componentDidMount() {
      this.props.dispatch({
        type:'operator/fetchUserOperator',
        /**model中,命名空间operator下的effects里面的fetchUserOperator方法 */
        payload:{
          page:1,
          page_rows:PAGE_SIZE,
        }
      })
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,080评论 19 139
  • 我打开牢门,上檐落下的尘土在光的穿透下好似一簇冷雾。 门内漆黑,光延伸过来,一个接一个的蛛网剪不断地交织在一起,一...
    付西阅读 290评论 0 0
  • 晚上和室友李芳毅师姐聊了我的情况,在她的陪伴下,我对自己的看见有了新的维度。 从我和胖胖的原生家庭开始聊起,讲到了...
    禾人爱阅读 160评论 0 0
  • 文/沐叁 每日写作第48天。 对此,我举双手双脚赞成,这绝对是利国利民的一件大好事,如果能真正贯彻落实下去,指不定...
    沐叁阅读 464评论 1 0