javascript - Data yang diminta oleh tindakan diberikan kepada pengurang Mengapa data tidak dipetakan ke stor selepas pengurang dilaksanakan?
黄舟
黄舟 2017-06-12 09:21:45
0
1
641
// 这是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

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

membalas semua(1)
習慣沉默

Object.assign ialah salinan cetek dan hanya akan memproses lapisan pertama
keadaan = {

a: name,
b: {
    child: {}    // 无论child怎么改变都不会触发state的change, 因为b的引用没有变
}

}

Adakah nilai pulangan tindakan.data anda adalah objek?

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan