рдореИрдВ рдЕрднреА рд╕рдорд╛рдЪрд╛рд░ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреГрд╖реНрда рд▓рд┐рдЦ рд░рд╣рд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╕рдВрдкрд╛рджрди рдФрд░ рдмрдирд╛рдиреЗ рдХрд╛ рддрд░реНрдХ рдПрдХ рд╣реА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЗрд╕реЗ рдПрдХ рд╣реА рдкреГрд╖реНрда рдореЗрдВ рд▓рд┐рдЦрд╛ рдерд╛, рд▓реЗрдХрд┐рди рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рдореИрдВ рд╕рдВрдкрд╛рджрди рддрд░реНрдХ рджрд░реНрдЬ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рд╕рдорд╛рдЪрд╛рд░ рд╕рдВрдкрд╛рджрдХ рдХрд╛ рдореЙрдбрд▓ рдмрдирд╛ рд░рд╣реЗрдЧрд╛ рдореЙрдбрд▓ рдбреЗрдЯрд╛ рдореЗрдВ, рдЬрдм рдореИрдВ рдЕрдЧрд▓реА рдмрд╛рд░ рдПрдХ рдирдИ рдЦрдмрд░ рдмрдирд╛рдиреЗ рдХреЗ рддрд░реНрдХ рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реВрдВ, рддреЛ рдкрд┐рдЫрд▓реА рдмрд╛рд░ рдЬрдм рдореИрдВрдиреЗ рд╕рдорд╛рдЪрд╛рд░ рд╕рдВрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдерд╛, рддреЛ рдореИрдВ рдЕрд╡рд╢рд┐рд╖реНрдЯ рдореЙрдбрд▓ рдбреЗрдЯрд╛ рд▓реЛрдб рдХрд░реВрдВрдЧрд╛, рдЬреЛ рдкреГрд╖реНрда рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░реЗрдЧрд╛ред рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдореИрдВ рдЕрдм рдореЙрдбрд▓ рдХреЛ рд╕рд╛рдлрд╝ рдХрд░рддрд╛ рд╣реВрдВ рд╡рд╣ рд╣реИ рдкреНрд░рднрд╛рд╡ рдореЗрдВ рдПрдХ рд╕реНрдкрд╖реНрдЯ рдореЙрдбрд▓ рд╡рд┐рдзрд┐ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП:
*clearModel({ payload }, { put }) {
yield put({
type: 'clear',
});
},
рдЙрд╕реА рд╕рдордп, рд░реЗрдбреНрдпреВрд╕рд░ рдореЗрдВ рдПрдХ рдирдИ рд╕реНрдкрд╖реНрдЯ рд╡рд┐рдзрд┐ рдмрдирд╛рдПрдВ:
clear() {
return {};
},
рдлрд┐рд░ рдШрдЯрдХ рдХреЗ рдШрдЯрдХWillUnMount рдореЗрдВ рдкреНрд░реЗрд╖рдг рдХрд░реЗрдВ:
dispatch({
type: 'model/clearModel',
payload: {}
});
рдореИрдВ рдЖрдк рд▓реЛрдЧреЛрдВ рд╕реЗ рдкреВрдЫрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рдореЗрд░реЗ рд▓рд┐рдЦрдиреЗ рдХреЗ рддрд░реАрдХреЗ рдореЗрдВ рдХреБрдЫ рдЧрдбрд╝рдмрдбрд╝ рд╣реИ? рдЗрд╕реЗ рд▓рд┐рдЦрдирд╛ рдереЛрдбрд╝рд╛ рдЧрд▓рдд рд▓рдЧрддрд╛ рд╣реИред
@hanxiansen
рдПрдХ рд▓реЗрдЦрди рд╡рд┐рдзрд┐ рдЬрд┐рд╕рдХрд╛ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ, рд╡рд╣ рд╣реИ рдЗрддрд┐рд╣рд╛рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред рдореЙрдбрд▓ рдореЗрдВ рд╕рджрд╕реНрдпрддрд╛ рдореЗрдВ рд╕реБрдиреЛ ((рд╕реНрдерд╛рди)) рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд░реНрддрдорд╛рди рдореЗрдВ рджрд░реНрдЬ рдХрд┐рдП рдЧрдП рдорд╛рд░реНрдЧ рдХрд╛ рдиреНрдпрд╛рдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдпрджрд┐ рдпрд╣ рд╕рдВрдкрд╛рджрди рдХрд░ рд░рд╣рд╛ рд╣реИ, рддреЛ рдкрд╣рд▓реЗ рд╕рд░реНрд╡рд░ рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ рдФрд░ рдлрд┐рд░ рдкреНрд░рд╕реНрддреБрдд рдХрд░реЗрдВ , рдпрджрд┐ рдпрд╣ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдбреЗрдЯрд╛ рд╕рд╛рдлрд╝ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред (рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдореЗрд░рд╛ рдЕрдкрдирд╛ рдЕрднреНрдпрд╛рд╕ рдЙрдкрдпреБрдХреНрдд рд╣реИ рдпрд╛ рдирд╣реАрдВ)ред рдХреЛрдб рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
..........
state: {
topicData: {},
topicId: '',
},
subscriptions: {
setup ({ dispatch, history }) {
history.listen((location) => {
const match = pathToRegexp('/topic/:id/edit').exec(location.pathname)
if (match) {
dispatch({
type: 'getTopic',
payload: { id: match[1] },
})
} else {
dispatch({
type: 'updateState',
payload: { topicData: {}, topicId: '' },
})
}
})
},
},
..........
effects: {
* getTopic ({ payload }, { call, put }) {
const accesstoken = localStorage.getItem('accesstoken')
let params = { accesstoken }
params = Object.assign(params, payload)
let data = yield call(getTopic, params)
console.log(data)
if (data.success) {
data = { topicData: data.data, topicId: data.data.id }
// yield put({
// type: 'setTopicId',
// payload: { topicId: payload.id },
// })
yield put({ type: 'updateState',
payload: data,
})
}
},
.......
},
reducers: {
........
updateState (state, { payload }) {
return {
...state,
...payload,
}
},
},
рдРрд╕рд╛ рдХрд░рдиреЗ рдореЗрдВ рдЖрдкрдХреЗ рд╕рд╛рде рдХреБрдЫ рднреА рдЧрд▓рдд рдирд╣реАрдВ рд╣реИ, рд░рд╛рдЬреНрдп рдХрд╛ рдкрд░рд┐рд╡рд░реНрддрди рд░реЗрдбреНрдпреВрд╕рд░ рдореЗрдВ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ рд╕рдВрдкрд╛рджрди рдФрд░ рдирдпрд╛ рддрд░реНрдХ рдореЛрдбрд▓ рд╣реИ, рддреЛ рдбреЗрдЯрд╛ рдХреЛ рдореЙрдбрд▓ рдореЗрдВ рдирд╣реАрдВ рд░рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХреГрдкрдпрд╛ https://github.com/dvajs/dva/blob/master/packages/dva-example- рдХреА рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рд╡рд┐рдзрд┐ рджреЗрдЦреЗрдВред
@sorrycc рджреНрд╡рд╛рд░рд╛ рднреЗрдЬреЗ рдЧрдП рд▓рд┐рдВрдХ рдХреЛ 404 . рдорд┐рд▓рд╛
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
@sorrycc рджреНрд╡рд╛рд░рд╛ рднреЗрдЬреЗ рдЧрдП рд▓рд┐рдВрдХ рдХреЛ 404 . рдорд┐рд▓рд╛