Javascript 如何在react redux中存储多层对象?

Javascript 如何在react redux中存储多层对象?,javascript,reactjs,object,redux,Javascript,Reactjs,Object,Redux,我正在尝试将多个对象添加到desire的对象中,并存储此对象中收集的所有欲望。我试图将密钥设置为设置日期,因此每个记录都有一个单独的密钥 然而,所有发生的一切,我最终在状态中拥有了一个欲望对象,它在每次写作时都会被覆盖,而且性和自慰也会随着每次更新而被删除 我知道我应该能拿到这个,但是时间太晚了,我被卡住了:D 减速器 import Moment from 'moment'; import { SET_DESIRE_DATA, SET_MASTURBATION_DATA, SET_S

我正在尝试将多个对象添加到
desire
的对象中,并存储此对象中收集的所有欲望。我试图将密钥设置为设置日期,因此每个记录都有一个单独的密钥

然而,所有发生的一切,我最终在状态中拥有了一个
欲望
对象,它在每次写作时都会被覆盖,而且
自慰
也会随着每次更新而被删除

我知道我应该能拿到这个,但是时间太晚了,我被卡住了:D

减速器

import Moment from 'moment';
import {
  SET_DESIRE_DATA,
  SET_MASTURBATION_DATA,
  SET_SEX_DATA
} from '../actions/dataAction';

const initialState = {
  'desire': {},
    'masturbation': {},
    'sex': {}
};

function desire (state = initialState, action) {
    //var action
    //{
    //    desire: 3, 
    //    date: Wed Jun 07 2017 23:45:41 GMT+0100 (BST)
    //}
    switch (action.type) {
        case SET_DESIRE_DATA:
            //Date returned 07_06_2017
            //Moment(action.data.date).format('D-MM-YYYY')
            return {
                ...state.desire,
                desire: action.data
            }
        case SET_MASTURBATION_DATA:
            return {
                ...state,
                masturbation: action.data
            }
        case SET_SEX_DATA:
            return {
                ...state,
                sex: action.data
            }
    }
    return state
}

export default desire;
更新的商店。愿望

试试这个:

function desire (state = initialState, action) {
    //var action
    //{
    //    desire: 3, 
    //    date: Wed Jun 07 2017 23:45:41 GMT+0100 (BST)
    //}
    switch (action.type) {
        case SET_DESIRE_DATA:
            //Date returned 07_06_2017
            const key = Moment(action.data.date).format('D-MM-YYYY')
            const desire = Object.assign({}, state.desire);
            desire[key] = action.data
            return {
                ...state.desire,
                desire,
            }
        case SET_MASTURBATION_DATA:
          //similar code here
    }
    return state
}

export default desire;
试试这个:

function desire (state = initialState, action) {
    //var action
    //{
    //    desire: 3, 
    //    date: Wed Jun 07 2017 23:45:41 GMT+0100 (BST)
    //}
    switch (action.type) {
        case SET_DESIRE_DATA:
            //Date returned 07_06_2017
            const key = Moment(action.data.date).format('D-MM-YYYY')
            const desire = Object.assign({}, state.desire);
            desire[key] = action.data
            return {
                ...state.desire,
                desire,
            }
        case SET_MASTURBATION_DATA:
          //similar code here
    }
    return state
}

export default desire;

啊,早上的事情要清楚得多:好的,早上的事情要清楚得多:好的