【问题标题】:React Native-Redux Error: undefined is not an object(evaluatingReact Native-Redux 错误:未定义不是对象(评估
【发布时间】:2017-02-21 18:00:39
【问题描述】:

我收到了错误信息

"undefined is not an object(evalating 'CategoryAction2.default.categoryView')" 在执行下面的代码时,

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 中的以下行引发了错误消息, store.dispatch(CategoryAction.categoryView());

请协助解决问题。

【问题讨论】:

    标签: react-native react-redux


    【解决方案1】:

    在 CategoryContainer.js 中,需要导入 CategoryActions.js 的特定成员(或所有成员)。应该是以下两个选项之一:

    import * as CategoryAction from '../actions/CategoryAction';
    
    // or
    
    import { categoryView } from '../actions/CategoryAction';
    stores.dispatch(categoryView());
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-09-16
      • 2018-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-29
      • 1970-01-01
      相关资源
      最近更新 更多