React native 反应本机语法
恕我直言,但当我阅读react原生文档时,与常规javascript存在语法差异。我试图找出描述语法的文档在哪里 例如这句话React native 反应本机语法,react-native,React Native,恕我直言,但当我阅读react原生文档时,与常规javascript存在语法差异。我试图找出描述语法的文档在哪里 例如这句话 var { ActivityIndicatorIOS, StyleSheet, View, } = React 以及在中使用=>运算符 setToggleTimeout: function() { this.setTimeout( () => { this.setState({animating: !th
var {
ActivityIndicatorIOS,
StyleSheet,
View,
} = React
以及在中使用=>运算符
setToggleTimeout: function() {
this.setTimeout(
() => {
this.setState({animating: !this.state.animating});
this.setToggleTimeout();
},
1200
);
},
这些是ECMAScript 6的功能 第一个示例是一个分解赋值 第二个是箭头函数
setToggleTimeout: function() {
this.setTimeout(
() => {
this.setState({animating: !this.state.animating});
this.setToggleTimeout();
},
1200
);
},
上述公认答案是正确的,但以下是一些示例: 第一:ES6解构的一个示例:
var {
ActivityIndicatorIOS,
StyleSheet,
View,
} = React
完全类似于:
var ActivityIndicatorIOS = React.ActivityIndicatorIOS;
var StyleSheet = React.StyleSheet;
var View = React.View;
这是一种很好的速记方法。当然,解构比这更强大,Mozilla文档给出了更多的例子
第二:ES6 arrow函数或fat arrow函数的示例
setToggleTimeout: function() {
this.setTimeout(
() => {
this.setState({animating: !this.state.animating});
this.setToggleTimeout();
},
1200
);
},
优点是编写的代码更少,但一个关键的区别是,在arrow函数中,“this”与编写它的上下文中的“this”相同。换句话说,您不必再使用bind了
糟糕的过去:
setToggleTimeout: function() {
this.setTimeout(
function() {
this.setState({animating: !this.state.animating});
this.setToggleTimeout();
}.bind(this),
1200
);
},
这个答案很有趣,因为它提到了这个的绑定。我花了一段时间才发现这一点。