离谱大坑!React报错Objects are not valid as a React child (found: object with keys {xxx, xxx, xxx}).

        首先,这个报错的主要意思可以理解为React无法渲染对象,只能渲染数组等等其它类型,所以我们可以尝试把对象转换为数组(当然,这是最直接的解决方式,是个人都想这么解决,我会先介绍这种“直接”的解决方式,然后再说明对于我自己我个人的蒟蒻操作,导致自己在这个报错上浪费好久好久的过程!)气死我了!

1. 将对象转换为数组

        常见错误方式如下:

export default function beauty() {
    const obj = {
        id: 1,
        name: 'dameinv',
    };

    const group = {
        {id: 1, name: 'ni'},
        {id: 2, name: 'wo'},
    };

    return(
        <div>
            {obj}
            {group}
        </div>
    );
}

        这错误就是我们渲染了对象,下面分别直接将对象的属性拿出来使用、将对象转换为数组:

export default function beauty() {
    const obj = {
        id: 1,
        name: 'dameinv',
    };

    const group = {
        {id: 1, name: 'ni'},
        {id: 2, name: 'wo'},
    };

    return(
         <div>
          {group.map((obj, index) => {
            return (
              <div key={index}>
                <h2>name: {obj.name}</h2>
              </div>
            );
          })}

      <div>
        <h2>name: {obj.name}</h2>
      </div>
    </div>
    );
}

2. JSX中使用JSON.stringify转换该值

        方法将会在对象渲染之前,将其转换为字符串。

export default function beauty() {
    const obj = {
        id: 1,
        name: 'dameinv',
    };

    const group = {
        {id: 1, name: 'ni'},
        {id: 2, name: 'wo'},
    };

    return(
        <div>
          <h1>{JSON.stringify(obj)}</h1>
          <h1>{JSON.stringify(group)}</h1>
        </div>
    );
}

3. 我的错误

        我不管使用上面什么方法,依旧报错,我记得我也没改什么啊啊啊,最后改了好久好久,使用排除法,所有代码一段一段的改,最后是ProTable的Columns定义的时候一个title没写dataIndex。。。无语。。。可能是框架内部的问题,无法更好地展示这个错误,也可能我没写dataIndex他确实直接读取内容确实是一个对象,确实无法渲染。。。(我猜的/(ㄒoㄒ)/~~)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值