2017-05-29 1 views
2

Ich Redux mit einem einfachen Speicher zu machen und leider wird es diesen Fehler zu werfen:kann nicht undefiniert oder null konvertieren redux zum Objekt

Cannot convert undefined or null to object 

Der Browser zeigt auf die Linie Redux des Imports

import * as redux from "redux" 

ich habe auch versucht, es auf diese Weise zu importieren, aber es gab den gleichen Fehler Import {creates} von „Redux“

dies der Code:

import * as redux from "redux" 

let reducer = (state ={}, action) =>{ 
    switch(action.type) { 
     case "ADD_POLL": 
      return { 
       polls: [ 
        ...state.polls, 
        action.poll 
       ] 
      } 
     default: 
      return state 
    } 
} 

let store = redux.createStore(reducer) 

store.subscribe(()=>{ 
    let currentState = store.getState() 
    console.log(currentState) 
}) 

store.dispatch({ 
    type: "ADD_POLL", 
    poll: { 
     id: 1, 
     title: "What's your fav Color", 
     votes: 230 
    } 
}) 

Antwort

3

ist, dass Fehler wie in Ihrem Minderer geworfen Sie versuchen, eine nicht vorhandene Eigenschaft auf dem Statusobjekt zu verbreiten

...state.polls, 

Um dies zu tun, müssen Sie die Form Ihrer Anfangszustand definieren als

const initialState = { 
    polls: [], 
}; 

Vollarbeitscode Ihres Beispiel

import * as redux from "redux" 

const initialState = { 
    polls: [], 
}; 

let reducer = (state = initialState, action) =>{ 
    switch(action.type) { 
     case "ADD_POLL": 
      return { 
       polls: [ 
        ...state.polls, 
        action.poll 
       ] 
      } 
     default: 
      return state 
    } 
} 

let store = redux.createStore(reducer) 

store.subscribe(()=>{ 
    let currentState = store.getState() 
    console.log(currentState) 
}) 

store.dispatch({ 
    type: "ADD_POLL", 
    poll: { 
     id: 1, 
     title: "What's your fav Color", 
     votes: 230 
    } 
}) 
Verwandte Themen