【react-json-view】的使用注意事项、JSON.parse的小坑及React父子组件传值

本文介绍了在React项目中使用react-json-view组件显示JSON数据的注意事项,包括JSON.parse的正确使用方法,以及如何处理可能的错误。同时,详细阐述了在React父子组件间传递JSON数据的步骤,并提供了一个实际的代码示例,展示了在接口响应数据获取后如何将数据传递给子组件进行渲染。文章还讨论了在数据为空时的处理策略,确保了用户体验的平滑。
摘要由CSDN通过智能技术生成

JSON神器react-json-view的安装配置与使用

  • 需求是:请求第三方接口,将响应结果以JSON形式在页面展示
  • 项目背景:React + ts

RJV的说明

RJV,也就是react-json-view的安装配置使用在此就不赘述了,详细的教程很多,参考如下等:

RJV的使用问题

为实现需求,我用< pre>画了个框,然后用RJV的< ReactJson>展示内容:
在这里插入图片描述
此处需要注意的是上图箭头标注的< ReactJson>的属性 “src”,有几个需要注意的点:

  1. src是“需要展示的JSON数据”;
  2. 参数类型需要是 JSON Object
  3. 无默认值。

如果src像我一样传递的参数jsonStr是String类型,那么需要用JSON.parse函数,将字符串转换为JSON的对象类型。

JSON.parse的使用

总所周知,JSON.parse()是用来将字符串解析成JSON Object对象的,但之前有两个问题没有注意过,在此记录:

  1. JSON.parse()的参数不能为空,也不能为空字符 ‘’ ,只能为 ‘{}’
    在这里插入图片描述
    在这里插入图片描述

  2. 如果JSON.parse()的参数无法成功解析成JSON对象,会报错。
    (JSON.parse()报错时浏览器是不会捕捉错误的,最好是手动try、catch一下捕获异常)

React父子组件的传值问题

如何在父组件获取接口响应数据并将其传到子组件渲染呢?

子组件:
在这里插入图片描述
在这里插入图片描述
父组件:
在这里插入图片描述
写个参数的useState(注意此处的默认值,以防子组件的JSON.parse报错)
在这里插入图片描述
请求接口的回调函数获取响应数据并赋值
在这里插入图片描述

由于不一定每次响应的responseData都会有值,所以得考虑参数为空时的情况,此处如果不给result.responseData后面加上感叹号!的话会报错

*因为原来result没有responseData这个属性,所以interface这边要新增属性
在这里插入图片描述
最后再优化一下:刚打开弹窗的时候不显示内容
在这里插入图片描述

成品

未点击“测试连接”,预览数据为空时
在这里插入图片描述
点击“测试连接”后
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值