我正试图从现有代码中学习React,在props部分有这样的代码
const {
products,
productDetail = {product:{}, productColor:[] },
location={},
history
} = props
我不明白关于productDetail和位置,为什么会有{product:{},productColor:[]},这是为了什么?
这些是指定道具的一些默认值。查看所提供的示例,我可以说history
和products
是必需的——当有人试图呈现组件时,他必须编写该信息。
但是,productDetails
和location
具有默认值,因此它们是可选的。试图呈现该组件的人可能会提供一些值(如果他想的话(,但他没有义务这样做。
本质上,这里只不过是一个变量的声明(以及由对象"props"给定的赋值(。代替张贴的代码,可以写:
const productDetail = {product:{}, productColor:[] }
productDetail
是一个变量。一个恰好是对象的变量。此对象包含两个值,一个名为product
,它本身被定义为另一个对象(因此存在"{}"(,而productColor
是"[]"所指示的数组。
与location
相同。";类型";是数组,该变量的默认值为空数组。