【发布时间】:2018-03-15 11:43:12
【问题描述】:
我是 React Native 和 ES6 的新手,但对 JS 有一点了解,我很难找出以下代码的含义。我知道它的作用,我可以识别它的一部分,但不是全部。
static navigationOptions = ({ navigation }) => {
if (navigation.state.params == undefined )
{
return {
headerTitle: <Text></Text>,
headerLeft: null
}
}
else
{
return {
headerTitle: navigation.state.params.toolbarComponent,
headerLeft: null
};
}
};
现在我知道了箭头函数,这很好,但我真的很困惑导航变量的来源。如果我删除大括号,那么第一行看起来像这样:
static navigationOptions = ({ navigation }) => {
然后代码抱怨 prop 不存在,所以我假设这使用了导航绑定。
所以我真的不知道导航是从哪里来的,即在其他地方的另一个例子中,我怎么知道变量名是什么。如果您可以确认大括号围绕变量导航做了什么,那么我将不胜感激。我怀疑这确实是一个 ES6 问题。
【问题讨论】:
-
为什么不直接通过 babel 运行代码并查看输出?这比在谷歌上搜索语法要容易得多。
-
因为我是一名 Android/Java 开发人员,并且我开始将我的应用程序移植到 React,但我不知道这是什么东西......谢谢,我会试一试那。非常感谢。
-
是的。他们有一个online compiler,您可以使用它来查看小东西,而无需通过构建过程或 CLI 工具的繁琐。
-
太好了,再次感谢。我确实开始尝试安装 CLI,但在实际尝试使用它之前看到了您的评论。我认为有很多学习可以为我做。
-
不用担心。一旦习惯了 JavaScript 的语法快捷方式与 Java 的规律性,您可能会开始欣赏它们。