Reactjs useEffect获取暴雪API
我正试图使用useEffect作为我的钩子,在暴雪API上进行一次抓取。然而,当我试图设置我的key={item.id},然后试图通过{item.race}提取我想要的信息时,调用成功地通过了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 ","
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
的属性以隔离您要处理的数据,然后重试。是否返回地图中的列表项?我认为您应该删除{}
或addreturn
是的,我正在尝试返回项目,我尝试了使用和不使用--return({items.map(item=>{returnconst[response.races,setRaces]=useState('races')
但是现在它无法编译第一个。然后()
,执行控制台.log(response.json())
并用你得到的更新你的问题(实际代码不是截图)。你尝试我的建议时出现了什么错误?你在错误的地方做的。我的意思是:。然后(response=>response.races.json())
Ok,我用尝试使用时遇到的新错误更新了问题。然后(response=>response.races.json())
Ok将所有内容更改回最初提问时的状态,然后尝试。然后(json=>setItems(json.races))