React 导航扩展运算符

React Navigation Spread Operator

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

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

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

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

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

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

所以在这种情况下,header 属性基本上指的是一个函数,它接受两个参数和 returns 一个对象(注意,如粗箭头语法所述,我们不必显式添加 return声明)。