import * as listService from '../services/list';export default { namespace: 'detail', state:{ id:'', data:{} }, effects: { *find({ payload: { id } }, { call, put }) { const result = yield call(listService.find, { id }) yield put({ type: 'updateData', payload: { result, id } }) } }, reducers: { 'updateData'(state, { payload: data }) { let r = data.result.data const {id} = data return {...state,id,data:r} } }, subscriptions : { setup({ dispatch, history }) { }},};复制代码
3 在service中添加获取详情的api list.js
import request from '../utils/request';export function query({ page,pageSize,type }) { return request(`/api/v1/topics?page=${page}&limit=${pageSize}&tab=${type}`);}export function find({ id }) { return request(`/v1/topic/${id}?mdrender=false`);}复制代码
mdrender参数设置为false来获取markdown数据,true为html数据
4 创建详情页routes/DetailPage.js
import React from 'react';import { connect } from 'dva';import Header from '../components/Header';import Detail from '../components/Detail';function DetailPage(props) { const {params} = props.match return (