Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法访问JSON元素react js_Javascript_Node.js_Json_Reactjs - Fatal编程技术网

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钩子中等待结果。你引导我解决了这个问题,谢谢。