0

初心者の質問で申し訳ありませんが、react ネイティブ ドキュメントを調べていると、通常の JavaScript とは構文が異なります。構文を説明するドキュメントがどこにあるかを把握しようとしています。

たとえば、このステートメント

var {
  ActivityIndicatorIOS,
  StyleSheet,
  View,
} = React

そして => 演算子の使用

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

2 に答える 2

4

上記の受け入れられた回答は正しいですが、いくつかの例を次に示します。

最初: ES6 Destructuring の例:

var {
  ActivityIndicatorIOS,
  StyleSheet,
  View,
} = React

は次のものとまったく同じです。

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

これは簡単な方法です。もちろん、破壊はそれよりも強力であり、Mozilla のドキュメントにはさらに例が示されています。

2番目: ES6 アロー関数 (または太いアロー関数) の例

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

利点は、記述するコードが少ないことですが、重要な違いは、アロー関数では、'this' が、それが記述されているコンテキストと同じ 'this' であることです。つまり、bind() を使用する必要がなくなりました。 .

古き良き時代:

setToggleTimeout: function() {
        this.setTimeout(
          function() {
            this.setState({animating:     !this.state.animating});
            this.setToggleTimeout();
          }.bind(this),
          1200
        );
      },
于 2015-04-25T06:52:19.897 に答える
4

これらはECMAScript 6の機能です

あなたの最初の例は、破壊的な割り当てです

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment

そして2つ目はアロー関数です

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions

于 2015-04-04T12:28:29.580 に答える