1

我正在使用 React Navigation,并且为导航选项提供了以下示例。我不知道传播运算符在这里做什么......

class ProfileScreen extends React.Component {
  static navigationOptions = {
    header: (navigation, defaultHeader) => ({
      ...defaultHeader,
      visible: true,
     }),
   }
   ...
 }    
4

1 回答 1

2

对象扩展运算符(与数组扩展运算符不同)允许您将可枚举属性从一个对象复制到另一个对象。

{
    ...defaultHeader,
      visible: true,
},

正在创建一个新对象,首先从 defaultHeader 对象复制值,然后将属性“可见”添加到新对象。

通过使用箭头函数,我们避免了键入 function 关键字、return 关键字(它隐含在箭头函数中)和大括号。

因此,在这种情况下,header 属性基本上是指一个函数,它接受两个参数并返回一个对象(注意,如胖箭头语法所述,我们不必明确添加 return 语句)。

于 2017-03-15T20:20:54.100 回答