// 这是reducer
export const requestUserInfo = (state = {}, action) => {
switch(action.type) {
case 'HEADER_RECEIVE_USERINFO':
console.log(action.data)// 有值
return Object.assign({}, state, action.data)
break
default:
return state
}
}
// 这是action
function receiveUserInfo (data) {
return {
type: 'HEADER_RECEIVE_USERINFO',
data
}
}
export function requestUserInfo () {
return dispatch => {
return axios.post('/user/getScores', qs.stringify({
token: token,
uid: uid
}))
.then(res => {
if(res.data.status !== 200) {
message.error(res.data.message)
return state
}
return { ...res.data.attachment}
})
.then(data => {
dispatch(receiveUserInfo(data))
})
}
}
Kedua-dua tindakan dan pengurang boleh dilaksanakan seperti biasa Saya memantau kedai dalam penghala, tetapi kedai tidak pernah berubah. Adakah saya menulis sesuatu yang salah di suatu tempat?
Seseorang tolong saya, saya telah terperangkap dengan masalah ini selama seharian dan saya tidak tahu apa masalahnya
Object.assign ialah salinan cetek dan hanya akan memproses lapisan pertama
keadaan = {
}
Adakah nilai pulangan tindakan.data anda adalah objek?