Javascript 无法访问JSON元素react js
我有以下代码:Javascript 无法访问JSON元素react js,javascript,node.js,json,reactjs,Javascript,Node.js,Json,Reactjs,我有以下代码: const [intrebari, setIntrebari] = useState([]) useEffect(() => { let idVar = localStorage.getItem('idVarianta'); idVar = JSON.parse(idVar) axios({ method: "POST", data
const [intrebari, setIntrebari] = useState([])
useEffect(() => {
let idVar = localStorage.getItem('idVarianta');
idVar = JSON.parse(idVar)
axios({
method: "POST",
data: {
idVarianta: idVar,
},
withCredentials: true,
url: "http://localhost:4000/getIntrebari",
}).then((res) => {
console.log(res)
const data = res.data;
setIntrebari(data);
console.log('Data has been recieved');
});
}, [])
这是给我的:
如何访问数据?如果我尝试intrebari[0]。intrebare会给我“无法访问未定义类型的属性intrebare”。有什么想法吗?我还尝试控制台日志intrebari[0],它显示第一个元素,但当我尝试访问intrebari[0]时,intrebare会出现上述错误。
谢谢不用
setIntrebari(数据)
,试试setIntrebari(res)
通过添加这个解决了这个问题。问题是该组件在获取数据之前进行渲染
function getIntrebare() {
if (intrebari.length !== 0) {
return intrebari[questionIndex].intrebare;
}
return "";
}
我试过了,没用试着把axios调用放在一个异步函数中(等待axios调用),然后在effect钩子中等待结果。你引导我解决了这个问题,谢谢。