我该如何显示反应中的错误?我从redux收到阵列错误?

时间:2018-12-01 14:49:04

标签: javascript reactjs redux

这是我从后端节点js API获得的Redux数组

errors:
errors: Array(1)
0: {location: "body", param: "name", value: "mamadou bah transfert", msg: "ce nom est déja utilisé"}
length: 1

然后在React Iam中尝试显示此类错误

<div class="col m12">
  {this.props.offices.errors.errors?
  <span className="center-align red-text">
			{this.props.offices.errors.errors.map((error,i) => <p key={i}>       {error.param=='name'?error.msg:''}</p>) 
      </span> : '' }
</div>

这是我经常遇到的错误

react-errors

2 个答案:

答案 0 :(得分:0)

由于this.props.offices && this.props.offices.errors.errors.map(...)来自一个异步请求,因此您应该确保该对象尚不存在。

offices

但是要确保100%不会失败,我将使用默认值errors,并检查const { offices = {} } = this.props; offices.errors && Array.isArray(offices.errors.errors) && offices.errors.errors.map(...); 是否存在,并且它是一个可迭代的数组。

w

答案 1 :(得分:0)

尝试一下

重点是,当您要访问嵌套对象时,首先需要检查嵌套对象是否确实存在,然后像下面的情况一样使用这种条件检查来访问它

km.res <- kmeans(iris[,-5], 3)
p <- fviz_cluster(km.res, iris[,-5]) +
scale_color_brewer(palette='Set2') + # set guides=FALSE to remove legend
scale_fill_brewer(palette='Set2') +
scale_shape_manual('1'=22,'2'=23,'3'=24) # plot ignores this
ggtitle(label='')
p