未捕获(承诺)TypeError:无法读取未定义的属性“过滤器”

时间:2019-07-31 12:08:13

标签: javascript reactjs

我创建了一个我用npm run build在线部署的react-app,现在在本地一切正常,但是当我尝试在我的应用上加载页面时,它在Container.js中给出了错误(不知道是什么该文件及其用途)

我试图重新安装所有的node_modules而没有任何结果,所以我重新克隆了我的仓库,但仍然没有任何结果

Container.js:

'use strict';

Object.defineProperty(exports, "__esModule", {
  value: true
});

var _reactRedux = require('react-redux');

var _Container = require('../components/Container');

var _Container2 = _interopRequireDefault(_Container);

function _interopRequireDefault(obj) {
  return obj && obj.__esModule ? obj : {
    default: obj
  };
}
/**
 * src/containers/Container.jsx
 */


var mapStateToProps = function mapStateToProps(store, ownProps) {
  return {
    items: store[ownProps.reduxStoreName].content[ownProps.reduxUid].filter(function (item) {
      return item.parentId === ownProps.itemId;
    })
  };
};

exports.default = (0, _reactRedux.connect)(mapStateToProps)(_Container2.default);

控制台错误:未捕获(承诺)TypeError:无法读取未定义的属性'filter'

1 个答案:

答案 0 :(得分:0)

好吧,就像他的评论中提到的@Pointy一样,它基本上意味着store[ownProps.reduxStoreName].content[ownProps.reduxUid]是未定义的。 导致错误的不是文件,而是其特定的行。当代码到达此行并尝试执行时-store[ownProps.reduxStoreName].content[ownProps.reduxUid]参数未定义,因此会崩溃。

我们无法告诉您错误在哪里,我们需要整个应用程序的代码来遵循执行流程。 您必须自己跟随它,并了解为什么代码到达那里时,该变量中为什么没有数组。

一般而言,尝试找出以下内容:

  1. 何时在何处初始化该变量?

  2. 何时何地调用mapStateToProps?

  3. 您是否绝对确定在回答问题2的代码之前先执行回答问题1的代码? (也许您没有想到一个异步执行问题,这会导致您的代码以错误的顺序执行)

  4. ,如果是这样-也许您在开始时初始化这些变量的方式不正确?也许您使用第3方库/函数来初始化它们,但实际上并没有得到您期望的结果?还是您使用错误,或分析结果错误?