【问题标题】:react, Cannot read property 'filter' of undefined反应,无法读取未定义的属性“过滤器”
【发布时间】:2020-09-08 20:37:42
【问题描述】:

代码(有效的代码):

const member = [
  {
    "key": 14,
    "pid": "test3",
    "name": "test3",
    "gender": "other",
    "age": 3
  },
  {
    "key": 13,
    "pid": "test4",
    "name": "test4",
    "gender": "male",
    "age": 4
  },
  {
    "key": 12,
    "pid": "test5",
    "name": "test5",
    "gender": "male",
    "age": 5
  }
]



const print = member.filter(x => x.gender === 'male');
console.log(print);

code2(我想让它工作的代码):

const originData = this.props.results;
const member = JSON.stringify(originData)



const print = member.filter(x => x.gender === 'male');
console.log(print);

错误代码(使用code2时发生的错误):

TypeError: Cannot read property 'filter' of undefined
Container.render
D:/test/containers/member/Container.js:426
  423 | 
  424 |    
  425 | 
> 426 |    const space = member.filter(x => x.gender === 'male');
      | ^  427 |    console.log(space);

console.log(JSON.stringify(this.props.results)) :

    [
    {"key":14,"pid":"test3","name":"test3","gender":"other","age":3},
    {"key":13,"pid":"test4","name":"test4","gender":"male","age":4},
    {"key":12,"pid":"test5","name":"test5","gender":"male","age":5}
    ]

console.log(this.props.results):

const成员数据和json数据都是同一个组件,但是我想知道为什么上面的代码有效,下面的代码无效。

我想使用 json 数据进行分类,而不是 const 成员数据,但它不起作用。如果你知道,请告诉我

【问题讨论】:

  • 代码 2 中的成员是字符串,不能使用字符串进行过滤
  • 完成上一个答案 JSON.stringify 会将您的对象转换为字符串。
  • 将其设为数组而不是字符串来解决吗?
  • 我们不知道你的道具是什么,但也许你可以简单地做: const member = this.props.results;
  • 谢谢,但结果是一样的。 ;)

标签: json reactjs


【解决方案1】:

在第一个示例中,member 是一个数组。在第二个示例中,member 是一个字符串。 filter 不是字符串上的方法。

要停止显示[Object object],您可以执行console.log(JSON.stringify(member))

【讨论】:

  • 你知道如何将第二个代码变成数组而不是字符串吗?你能简单地告诉我吗?
  • 将此 const member = JSON.stringify(originData) 更改为 const member = originData
  • 谢谢。但不幸的是,结果是一样的。 ;)
  • 不可能相同。这种方式有效。 .filter 不会是未定义的。
  • 我们添加了更多内容。如有必要,我会上传整个代码。
猜你喜欢
  • 1970-01-01
  • 2019-07-14
  • 1970-01-01
  • 2021-12-26
  • 2019-07-27
  • 2021-06-03
  • 1970-01-01
  • 2017-10-15
  • 2019-03-26
相关资源
最近更新 更多