์ง๊ธ ๋ด์ค ํธ์ง์ฉ ํ์ด์ง๋ฅผ ์ฐ๋ ์ค์ธ๋ฐ ํธ์ง๊ณผ ์์ฑ์ ๋ก์ง์ด ๋๊ฐ์์ ๊ฐ์ ํ์ด์ง์ ์ผ๋๋ฐ ๋ฌธ์ ๋ ํธ์ง ๋ก์ง์ ๋ค์ด๊ฐ๋ ๋ด์ค ์๋ํฐ์ ๋ชจ๋ธ์ด ๊ทธ๋๋ก ๋จ๋๋ค. ๋ชจ๋ธ ๋ฐ์ดํฐ์์ ๋ค์ ๋ฒ์ ์ ๋ด์ค๋ฅผ ์์ฑํ๋ ๋ ผ๋ฆฌ๋ก ์ฌ ๋ ๋ง์ง๋ง์ผ๋ก ๋ด์ค๋ฅผ ํธ์งํ์ ๋์ ์์ฌ ๋ชจ๋ธ ๋ฐ์ดํฐ๋ฅผ ๋ก๋ํ์ฌ ํ์ด์ง์ ์ํฅ์ ์ค๋๋ค. ์ด์ ๋ชจ๋ธ์ ์ง์ฐ๋ ๋ฐฉ๋ฒ์ ํจ๊ณผ์์ clearModel ๋ฉ์๋๋ฅผ ์์ฑํ๋ ค๋ฉด ๋ค์์ ์ํํฉ๋๋ค.
*clearModel({ payload }, { put }) {
yield put({
type: 'clear',
});
},
๋์์ ๊ฐ์๊ธฐ์์ ์๋ก์ด clear ๋ฉ์๋๋ฅผ ์์ฑํฉ๋๋ค.
clear() {
return {};
},
๊ทธ๋ฐ ๋ค์ ๊ตฌ์ฑ ์์์ componentWillUnMount์ ์ ๋ฌํฉ๋๋ค.
dispatch({
type: 'model/clearModel',
payload: {}
});
์ ๊ธ์ ๋ฌธ์ ๊ฐ ์๋ ๊ฑด์ง ์ฌ์ญค๋ณด๊ฒ ์ต๋๋ค. ์ฐ๊ธฐ์๋ ์กฐ๊ธ ์๋ชป๋ ๋๋์ ๋๋ค.
@hanxiansen
๊ธฐ์กด์ ์จ๋ณธ ๋ฐฉ๋ฒ์ ๋ชจ๋ธ์ ๊ตฌ๋
์์ history.listen((location)) ์ ์ฌ์ฉํ์ฌ ํ์ฌ ์
๋ ฅ๋ ๊ฒฝ๋ก๋ฅผ ํ๋จํ์ฌ ๋ค๋ฅธ ๋ฉ์๋๋ฅผ ํธ์ถํ๋ ๋ฐฉ์์
๋๋ค. , ์์ฑ๋๋ฉด ํ์ฌ ์ํ์ ๋ฐ์ดํฐ๊ฐ ์ง์์ง๋๋ค.(์ ๋ง์ ์ฐ์ต์ด ์ ์ ํ์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.) ์ฝ๋๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
..........
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์ ๋๋ค.