【发布时间】:2020-07-04 10:55:17
【问题描述】:
我是 React 和全栈开发的新手,所以请多多包涵。我正在尝试将来自 json-server(我使用 Axios 收到)的数据连接到一个数组。我正在使用 React 钩子来更新状态。出于某种原因,即使 personObject 在控制台中显示正常(有 4 个元素,每个元素都有一个名称和一个 ID),当我 console.log 时会弹出一个空数组。这是 useEffect 代码。
const [ persons, setPersons] = useState([])
useEffect(() => {
console.log('effect')
axios
.get('http://localhost:3001/persons')
.then(response => {
console.log('promise fulfilled')
const temp = response.data
temp.forEach(function(e) {
let personObject = {
content: e.name,
id: e.id,
}
console.log(personObject)
setPersons(persons.concat(personObject))
})
console.log(persons)
})
}, []) ```
【问题讨论】:
-
技术细节,但非常重要的一点:那不是 JSON。根据定义,JSON 是字符串数据。一旦被解析,它就是普通的 JS 数据,就像您自己编写的任何其他代码一样。
标签: javascript reactjs