反应本机语法

时间:2015-04-04 12:18:23

标签: react-native

请原谅noobie问题,但是当我浏览本机文档时,常规javascript存在语法差异。我试图找出描述语法的文档。

例如这句话

var {
  ActivityIndicatorIOS,
  StyleSheet,
  View,
} = React

使用=>

中的运算符
  setToggleTimeout: function() {
    this.setTimeout(
      () => {
        this.setState({animating:     !this.state.animating});
        this.setToggleTimeout();
      },
      1200
    );
  },

2 个答案:

答案 0 :(得分:4)

答案 1 :(得分:4)

上面接受的答案是正确的,但这里有一些例子:

首先:ES6解构的一个例子:

var {
  ActivityIndicatorIOS,
  StyleSheet,
  View,
} = React

完全类似于:

var ActivityIndicatorIOS = React.ActivityIndicatorIOS;
var StyleSheet = React.StyleSheet;
var View = React.View;

这是一个很好的速记方法。当然,解构比这更强大,Mozilla文档提供了更多的例子。

2nd:ES6箭头功能(或胖箭头功能)的一个例子

setToggleTimeout: function() {
    this.setTimeout(
      () => {
        this.setState({animating:     !this.state.animating});
        this.setToggleTimeout();
      },
      1200
    );
  },

优点是编写的代码较少,但一个关键的区别在于,在箭头函数中,这个'这个'是这样的'这个'作为它所写的上下文。换句话说,你不必再使用bind()了。

过去的糟糕日子:

setToggleTimeout: function() {
        this.setTimeout(
          function() {
            this.setState({animating:     !this.state.animating});
            this.setToggleTimeout();
          }.bind(this),
          1200
        );
      },