基于参考:
箭头是使用
=>
语法的函数简写。
我也无法理解。如何在字面上使用function
来编写以下代码?
AppRegistry.registerComponent('Component2', () => Component2);
好的,让我们专注于此:
() => Component2
()
?这是我想传递的价值吗?=>
?它是function
这个词的替代品吗?所以我们可以把它写成() function Component2
? (我几乎不这么认为) Componenet2
?它是一个函数的名称吗?还是上课?或究竟是什么? 答案 0 :(得分:2)
此() => Component2
等效于以下内容:
function(){
return Component2;
}
左边的空括号()
表示你的函数没有参数,而箭头=>
表示你的函数返回。
下面是一个片段,其中我们有一个函数,它需要两个值并返回它们的总和。
var add = (x,y) => x+y;
console.log(add(3,4));
可以找到箭头功能的详细文档here。
答案 1 :(得分:2)
你可以不用es6重写它:
AppRegistry.registerComponent('Component2', function(){
return Component2;
});
这种格式基本上是:
(arguments) => returnValue
你可以像这样传递一个参数:
AppRegistry.registerComponent('Component2',(arg1, arg2) => Component2);
带参数的更通用的例子是:
var print = (message) => console.log(message)
print('Hello World')

答案 2 :(得分:2)
() => Component2
解释:
()
表示没有参数的匿名function
,=>
特殊符号或ES06箭头功能。 Component2
是返回的值。
一般来说,它代表:
function(){
return Component2;
}
答案 3 :(得分:2)
AppRegistry.registerComponent(' Component2',()=> Component2);
让我们专注于()=> COMPONENT2;
如果你在ES5中有这样的功能:
function fun(a,function(){ console.log(a);});
在ES6中,它可以写成:
function fun(a,()=>{console.log(a)});
所以你可以说它只是用新的ES6方式编写函数的简写
在你的情况下,Component2是上面例子中的一个对象,代码可以写成:
var obj = {console.log(a)};
function fun(a,()=>obj);
结果将是相同的。
答案 4 :(得分:1)
什么()?这是我想传递的价值吗?
()
是声明函数参数的语法,在这种情况下没有参数。
什么是>?它是功能性词语的替代品吗?所以我们可以把它写成()函数Component2? (我几乎不这么认为)
它不是function
的直接替代品,不,你不能只在那里插入单词功能并希望事情能够发挥作用。箭头语法的替代方法是function() {}
。
什么是Componenet2?它是一个函数的名称吗?还是上课?或究竟是什么?
它很可能是一个类,(可能是一个基于名称的React组件),因为它在CamelCase中,这是用Javascript编写类的方式。 () => Component2
是一个箭头函数,它不带参数并返回Component2
。