Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.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 对象作为React子对象无效(找到:具有键的对象…)_Javascript_Reactjs_State - Fatal编程技术网

Javascript 对象作为React子对象无效(找到:具有键的对象…)

Javascript 对象作为React子对象无效(找到:具有键的对象…),javascript,reactjs,state,Javascript,Reactjs,State,我正试图建立一种状态。这是我的密码: import React, { Component, useRef, Fragment, useEffect, useState } from "react"; import axios from "axios"; const Cart = (props) => { const [useCart, setCart] = useState([]); useEffect(() =

我正试图建立一种状态。这是我的密码:

import React, { Component, useRef, Fragment, useEffect, useState } from "react";
import axios from "axios";

const Cart = (props) => {

    const [useCart, setCart] = useState([]);
        
    useEffect(() => {
        (async () => {
            const result = await axios
                .get('https://example.com/sample')
                .then((res) => {
                    setCart(res.data);
                })
                .catch((err) => {
                    console.error(err);
                });
        })();
    }, []);

    console.log(useCart);

    return (
        <div></div>
    );

}

export default Cart;
我不会在组件上渲染它。我只是想把它记录下来。但它给出了这样的错误:

[
    {
        'id': 5,
        'qwe': 'qwe',
        'asd': [
            {
                'aaa': 'aaa',
                'bbb': 'bbb'
            }
        ],
        'zxc': 'zxc'
    },
    {
        'id': 7,
        'qwe': 'qwe',
        'asd': [
            {
                'aaa': 'aaa',
                'bbb': 'bbb'
            }
        ],
        'zxc': 'zxc'
    }
]
Error: Objects are not valid as a React child (found: object with keys {id, qwe, asd, zxc}). If you meant to render a collection of children, use an array instead.

我不明白,我哪里做错了。

不知道你的代码出了什么问题,但也许我可以帮你调试它。我将API的响应复制到一个文件中,并将其简单地导入到组件中的一个变量中。然后我将状态设置为该变量,一切正常,所有控制台日志和一切。看看这里-

这告诉我问题可能来自您处理API响应的
useffect

我做了一个更改,我认为在注销状态变量时也应该这样做,应该在生命周期挂钩中这样做。所以你应该把你的
console.log(useCart)放进去在这里面

useffect(()=>{console.log(useCart);},[useCart])

您可以添加完整的组件代码吗?您如何使用
useCart
?@MattAft我正在尝试控制台日志it@ShubhamVerma好的,现在编辑这个问题我看不出这个代码有任何错误,你确定这就是你所拥有的吗?