cari

Rumah  >  Soal Jawab  >  teks badan

javascript - Data yang diminta oleh tindakan diberikan kepada pengurang Mengapa data tidak dipetakan ke stor selepas pengurang dilaksanakan?

// 这是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

黄舟黄舟2768 hari yang lalu653

membalas semua(1)saya akan balas

  • 習慣沉默

    習慣沉默2017-06-12 09:23:45

    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?

    balas
    0
  • Batalbalas