React Native中的ES6功能

时间:2015-05-13 00:35:25

标签: reactjs react-native

我在哪里可以找到可以在React Native中使用的ES6功能列表?

例如Object.assign()。

2 个答案:

答案 0 :(得分:4)

这取决于JSX做了什么(见this table)。您可以使用Babel获取更多ES6功能,this post可能有帮助。

[编辑] 根据这个official doc,完整的支持表在这里:

ES5

// Reserved Words: 
promise.catch(function() { }); 

ES6

// Arrow function: 
<C onPress={() => this.setState({pressed: true})}

// Call spread: 
Math.max(...array);

// Class: 
class C extends React.Component { render() { return <View />; }

// Destructuring: 
var {isActive, style} = this.props;

// Iteration: 
for (var element of array) { }

// Computed Properties: 
var key = 'abc'; var obj = {[key]: 10};

// Object Consise Method: 
var obj = { method() { return 10; } };

// Object Short Notation: 
var name = 'vjeux'; var obj = { name };

// Rest Params: 
function(type, ...args) { }

// Template: 
var who = 'world'; var str = `Hello ${who}`;

ES7

// Object Spread: 
var extended = { ...obj, a: 10 };

// Function Trailing Comma: 
function f(a, b, c,) { }

答案 1 :(得分:1)

React Native正在使用Babel转发器 - 它启用的功能全部是Babel Core,以及/packager/transformer.js中列入白名单的内容。