2017-02-21 7 views
1

Я получил сообщение об ошибке,Реагировать Native-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 { 
} 

КатегорияAction.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());