-1

我是 React 的初学者。我正在尝试将"LicType"下图中描述的状态对象的属性显示为文本字段的值。

现在有 searchJsonsearchJson:"random text here"

<TextField value={values.searchJson}/>如果searchJson 没有像那样嵌套,我会使用。

反应状态截图

如何显示或访问LicType, nextOfKin, 或accountNotes作为文本字段的值?

注意:values通过道具传递。

编辑

Values.searchJson[0].LicType 生成以下错误

TypeError: Cannot read property 'fname' of undefined
4

3 回答 3

2

searchJson 是数组,因此您可以通过索引访问: values.searchJson[0].LicType

于 2019-12-08T09:39:32.647 回答
1

您的数组中没有值,因此第一项未定义。您需要先执行空检查:

const val = searchJson.length && searchJson[0].LicType

或者:

const val = searchJson.length ? searchJson[0].LicType : ""

当您访问values.searchJson[0].fname您遇到的错误时也是如此。

于 2019-12-08T10:11:39.403 回答
0

鉴于紧迫性,我找到了解决方法。我最终将 json 响应分配给仅使用索引而不是整个数组对象的状态。 .then(response=>{this.setState({searchJson:response.data[0]})})代替 .then(response=>{this.setState({searchJson:response.data})})

于 2019-12-08T11:57:59.997 回答