这是我从后端节点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>
这是我经常遇到的错误
答案 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