【发布时间】:2020-09-26 08:49:47
【问题描述】:
我正在尝试使用 axios 从 mongodb 获取数据,我在应用 GET 方法时收到一个对象数组,但我无法正确存储状态中的数据并以所需形式使用状态中的数据,我想在这里获取一个特定的 ker 值,即标题。请帮我解决这个问题或提出更好的方法。
[state, setState] = useState()
useEffect( async () =>
{
axios({
"method": "GET",
"url": "http://localhost:5500/api/add/",
"headers": {
"Content-Type": "application/json",
}
})
.then((response) => {
setState(response.data)
})
.catch((error) => {
console.log(error)
})
const title = state[1].title
console.log(title)
}, state)
数据作为具有键值对的对象数组存储在 mongodb 中,当我使用 input - console.log(response.data[1].title) 时收到以下输出
output- title-2
对于数据对象:
1:{_id:“5f6e10d3509b062528381884”,标题:“title-2”,详细信息: "details-2", __v: 0}
之后,当我使用console.log(state[1].title)时,我收到了
TypeError:尝试读取时无法读取未定义的属性“标题” 从对象数组访问数据
【问题讨论】:
-
setState是做什么的?从您看来,您声明state是useEffect的返回值,这是一个未决的承诺。
标签: javascript reactjs mongodb axios use-state