如何访问从API调用返回的对象的值

时间:2019-03-28 00:10:55

标签: javascript reactjs

我有一个API,我正在尝试过滤出评级为“ Rx”的每个标题。

返回的json数据存储在名为 dataItems 的变量中。

示例:如果我想返回第一个对象的评分,则可以执行 dataItems [0] .rated

以下是我尝试过滤掉所有标为“ Rx”的内容的尝试。

class AnimeCard extends Component {
  render() {
    const { dataItems } = this.props
    console.log(dataItems)

    return (
      <AnimeCardWrapper>
        {dataItems.filter(item => item !== item.rated['Rx']).map((item, index) => {
          return (
            <AnimeCardItem>
              <PosterImg src={item.image_url} alt="poster" />
              <CardTitle key={index}>{item.title}</CardTitle>
              <p>{item.score}</p>
              <p>{item.rated}</p>
            </AnimeCardItem>
          )
        })}
      </AnimeCardWrapper>
    )
  }
}

这样做会给我以下错误:“ TypeError:item.rated为空”

我尝试将字符串“ Rx”提取到变量中,然后进行 rated [rxVariable] ,但是我仍然收到相同的错误。

我也尝试使用Object.values(),但是我仍然没有运气。我敢肯定,有些事情我正在忽略。

请明确说明,我想显示所有那些评级为“ Rx”的项目

1 个答案:

答案 0 :(得分:0)

我相信您应该将PackageParser.java行更改为dataItems.filter(item => item !== item.rated['Rx']