我是React的新手,我正在阅读一些代码,发现这行代码:
const {intl: { formatMessage }, } = this.context
是一个const声明,但我不明白 我知道是JS ES6,但我不明白它的用途是什么? 如何检查此const的值?
谢谢
答案 0 :(得分:5)
人们已经回答了。这是对象分解
简单的示例:const contact = {name: 'John', email: 'john@doe.com'}
使用ES6,您可以进行const {email} = contact; //email = contact.email
如果您想使用其他名称来命名变量,则为:
const {email: mailbox} = contact //equivalent to mailbox = contact.email;
回到原始问题:{intl: { formatMessage }, } = this.context
=> {formatMessage} = this.context.intl => formatMessage = this.context.intl.formatMessage
答案 1 :(得分:1)
您拥有的代码实际上是以下代码的表示形式,
const formatMessage = this.context.intl.formatMessage
您可以阅读有关对象分解的知识,以了解更多信息。
答案 2 :(得分:0)
这只是意味着this.context包含与此类似的结构
this.context = {
intl:{
formatMessage: // This has a value let's say "Hello"
},
//Other key-value pairs could be contained in the context object }
这行代码是一种简短的语法,告诉您,只能从称为的大对象中检索只能在“ intl”中找到的 formatMessage 属性。 >“ this.context”