繁体   English   中英

如何在我的反应状态下访问此信息?

[英]How can I access this information in my react state?

我很新做出反应,现在我在我的状态中显示了这些信息(如图所示),我该如何访问消息: "Please enter the valid credential"

我已经尝试过this.state.errors.messagethis.state.errors[0].message ,但似乎两者都不对,有人可以告诉我如何访问该消息吗? 非常感激。

图像以查看错误对象

////////////////////////////////////////////

嗨克里斯,非常感谢你的回答。

你是对的,从API返回错误对象,我已将其添加到状态。

我也试过了

this.setState({errors:errorObjFromAPi},console.log(errors));

状态并正确设置,错误也可以在控制台中打印。

但是,当我尝试在react组件中呈现消息时,我使用了类似某些html ... {this.state.errors [0] .message}之类的内容,然后我收到错误消息“无法读取属性错误[0]。信息'…。

我有点困惑,因为错误对象已经处于状态,为什么我无法访问它并在组件中呈现它?

信息是否足以让您找出原因? 如果没有,我会提供更具体的代码。 再次,非常感谢。

没有更多的代码,很难提供帮助。 你有没有把它添加到州? 或者刚刚从API返回此对象。

如果你刚刚完成......

this.setState({errors: errors});
console.log(this.state.errors[0].message);

然后很可能在console.log调用之前'set state'没有完成,因为它是异步的。

相反,无论您收到错误对象,请尝试...

console.log(errors[0].message);

值得注意的是,set state接受一个回调,一旦设置状态完成就可以调用该回调。

例如

this.setState({errors: errorObjFromAPi}, console.log(errors));  // do a console.log straight after set state has finished.

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM