react state 深层对象嵌套渲染undefined

最近刚开始写公司react的项目,简单的一些原理运用都已经掌握的七七八八,然后遇到了如题的一个东西。

从后台接了一个数据大概类型是这样json:{a:{b:{}},a2}

就是对象套对象套对象...的这种,然后把这个值setstate,在render调用的时候出现了问题

<p>{json.a.b}<p/>  

<p>{json.a2}<p/>  

json.a2的时候是完全没问题的,json.a.b的时候就是undefined了,也就是从第二层开始

我目前了解到的是,因为我state里面初始化的json是空对象,所以渲染的时候第二层的对象就是undefined,继续往下一层就肯定不行了,也就是undefined.undefined

此处不同于vue,vue的话没有遇到过这个问题。

解决办法有两种:

1.初始化的时候按照后台的深层格式初始化一下

2.每一层对象渲染的时候都要判断一下是不否为空再渲染

初学初学。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
react-dnd是一个用于实现拖放功能的React库。拖放嵌套指的是在组件内部可以拖动并放置其他子组件。 在react-dnd中,拖放嵌套可以通过使用`DragSource`和`DropTarget`来实现。`DragSource`用于指定哪些组件可以被拖动,而`DropTarget`用于指定哪些组件可以接受放置。 要实现拖放嵌套,首先需要创建一个可拖动的组件。通过使用`DragSource`高阶组件,可以将拖动源的功能添加到组件中。例如,可以指定当开始拖动时触发的回调函数,以及拖动过程中显示的样式。然后,将这个拖动源包装在要放置的容器组件中。 接下来,需要创建一个接受放置的组件。通过使用`DropTarget`高阶组件,可以将放置目标的功能添加到组件中。例如,可以指定何时接受放置的类型,以及放置时触发的回调函数。然后,将这个放置目标包装在需要放置的组件内。 当拖动源和放置目标相互嵌套时,可以实现组件的嵌套拖放。例如,可以创建一个容器组件,内部包含多个可以拖拽的子组件。这样,用户可以将子组件从一个容器拖动到另一个容器,并在容器内部对它们进行重新排序或重新布局。 通过react-dnd,可以轻松实现拖放嵌套功能,提供了灵活和可定制的拖放体验。无论是创建一个简单的拖放列表,还是一个复杂的嵌套结构,react-dnd都提供了强大的API和示例来帮助开发者快速实现拖放嵌套的功能。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值