2017-02-21 97 views
1

我有錯誤消息陣營本機Redux的錯誤:未定義是不是一個對象(評估

"undefined is not an object(evaluating 'CategoryAction2.default.categoryView')" on executing the below code,

ConfigureStore.js:

import {createStore, applyMiddleware} from 'redux'; 
import reducers from '../reducers'; 
import thunk from 'redux-thunk'; 

var middlewares = applyMiddleware(thunk); 

export default function configureStore(initialState) { 
    return createStore(reducers, initialState, middlewares); 
} 

CategoryContainer.js:

import React, { Component } from 'react'; 
import stores from '../stores/ConfigureStore'; 
import CategoryAction from '../actions/CategoryAction'; 

stores.dispatch(CategoryAction.categoryView()); 

class CategoryContainer extends Component { 
} 

CategoryAction.js

import * as actionTypes from './ActionTypes'; 
import AppConstants from '../constants/AppConstants'; 

export function categoryView() { 
    const categories = ['Health', 'Built-in']; 
    return { 
     type: "CATEGORY_VIEW", 
     categories: categories 
    }; 
} 

CategoryReducer.js:

const initialState = { 
    categories:[], 
} 

export default function categoryReducer (state = initialState, action) { 
    switch (action.type) { 
    case CATEGORY_VIEW: 
     return Object.assign({}, state, { 
       categories: action.categories 
      }); 
    } 
} 

在CategoryContainer.js的下面線引發錯誤消息, stores.dispatch(CategoryAction.categoryView());

請協助解決問題。

回答

2

在CategoryContainer.js中,您需要導入CategoryActions.js的特定成員(或所有成員)。應該是以下兩個選項之一:

import * as CategoryAction from '../actions/CategoryAction'; 

// or 

import { categoryView } from '../actions/CategoryAction'; 
stores.dispatch(categoryView()); 
相關問題