2017-06-07 6 views
0

Ich versuche, mehrere Objekte in Objekt desire hinzuzufügen und alle Wünsche zu speichern, die in diesem Objekt gesammelt werden. Ich versuche, den Schlüssel auf das Datum einzustellen, an dem er eingestellt wurde, und habe daher für jeden Datensatz einen eigenen Schlüssel.Wie speichern mehrschichtige Objekte in react redux?

Aber alles, was geschieht, habe ich am Ende mit einem desire Objekt in dem Zustand, die jedes Mal des Schreibens überschrieben wird und auch und masturbation werden mit jedem Update entfernt.

Ich weiß, ich sollte in der Lage sein, dies zu bekommen, aber es ist zu spät und ich bin fest: D

Reducer

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; 

Aktualisiert Store.desire

enter image description here

Antwort

0

Versuchen Sie dies:

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; 
+0

Ah, am Morgen sind die Dinge viel klarer: D Nice one –