React Navigation Spread Operator

时间:2017-03-15 19:55:01

标签: react-native navigation react-navigation

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

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

1 个答案:

答案 0 :(得分:2)

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

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

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

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

所以基本上这个例子中的header属性引用了一个带有两个参数并返回一个对象的函数(注意如胖箭头语法所述,我们没有明确添加return语句)。