Reactjs useEffect获取暴雪API

Reactjs useEffect获取暴雪API,reactjs,react-hooks,fetch,Reactjs,React Hooks,Fetch,我正试图使用useEffect作为我的钩子,在暴雪API上进行一次抓取。然而,当我试图设置我的key={item.id},然后试图通过{item.race}提取我想要的信息时,调用成功地通过了 Failed to compile ./src/App.js SyntaxError: /Users/gabrielcastro/Development/code/React/convergence/src/App.js: Unexpected token, expected ","

我正试图使用useEffect作为我的钩子,在暴雪API上进行一次抓取。然而,当我试图设置我的key={item.id},然后试图通过{item.race}提取我想要的信息时,调用成功地通过了

Failed to compile
./src/App.js
SyntaxError: /Users/gabrielcastro/Development/code/React/convergence/src/App.js: Unexpected token, expected "," (12:2)

  10 |   .then(response => response.races.json())
  11 |   .then(console.log(response.json())
> 12 |   },[races]) 
     |   ^
  13 |  
  14 | 
  15 |   return (
这就是我的代码看起来的样子。。。我为这篇文章拿出了访问令牌

import React, { useState, useEffect } from 'react'

export default function App() {

  const [races, setRaces] = useState('races')
  const [items, setItems] = useState([])
  
  useEffect(() => {
  fetch(`https://us.api.blizzard.com/data/wow/playable-race/index?namespace=static-us&locale=en_US&access_token=`)
  .then(response => response.races.json())
  .then(console.log(response.json())
  },[races]) 
 

  return (
    <div>
    {items.map(item => {
   <li key={item.id}>
    Race: {item.name}
  </li>
  })}
     </div> 
     )
    }
import React,{useState,useffect}来自“React”
导出默认函数App(){
const[races,setRaces]=useState('races')
const[items,setItems]=useState([])
useffect(()=>{
取回(`https://us.api.blizzard.com/data/wow/playable-race/index?namespace=static-us&locale=en\u us&access\u令牌=`)
.then(response=>response.races.json())
.then(console.log(response.json())
}[种族])
返回(
{items.map(item=>{
  • 种族:{item.name}
  • })} ) }
    下面是我试图访问的信息剪贴

    非常感谢您的帮助!

    只有数组才能使用
    .map()
    方法。您试图访问的数据可能是一个对象。您需要深入到
    races
    键,该键保存您需要的数据,实际上是一个数组,因此您应该能够在其上运行
    .map()


    您能否尝试将您所在州的
    races
    属性设置为类似
    response.races
    的属性以隔离您要处理的数据,然后重试。

    是否返回地图中的列表项?我认为您应该删除
    {}
    或add
    return
    是的,我正在尝试返回项目,我尝试了使用和不使用--return({items.map(item=>{return
  • Race:{item.name}
  • }}}//map over JSON)}我试图将状态更改为
    const[response.races,setRaces]=useState('races')
    但是现在它无法编译第一个
    。然后()
    ,执行
    控制台.log(response.json())
    并用你得到的更新你的问题(实际代码不是截图)。你尝试我的建议时出现了什么错误?你在错误的地方做的。我的意思是:
    。然后(response=>response.races.json())
    Ok,我用尝试使用
    时遇到的新错误更新了问题。然后(response=>response.races.json())
    Ok将所有内容更改回最初提问时的状态,然后尝试
    。然后(json=>setItems(json.races))