我是React Native的新手,对如何分辨它是函数还是类感到非常困惑。据我了解,大写字母表示一个班级?
请让我知道以下各项及其区别:
const location = props => (...)
const Location() => {}
function EventDetailScreen(props)
handleOnPressEvent = event => {...}
handleOnPressEvent = (event) => {...}
所有这些真的使我感到困惑。我知道const
是什么意思,但是#1的道具没有括号(例如= ( props ) =>
)
#2的大写字母为“ L”
#3以function
开头,然后以大写字母“ E”开头
#4和#5一个带括号,另一个不带括号。
预先感谢您:)
答案 0 :(得分:0)
好的,这是一个快速的概述,但是您需要查看一些文档或教程以对所有内容进行更深入的说明。
无论是否使用大写字母,javascript(这是您为React Native编写的脚本语言)都不关心是否使用大写,小写,camelCase,PascalCase等。现在,它区分大小写,因此命名后,需要匹配大小写(例如, funcName 不引用 FuncName )。对于在什么情况下使用名称命名,有一些通用约定,但实际上并不是任何规则。请查看此内容以了解一些通用约定(https://github.com/airbnb/javascript/tree/master/react#naming)。
进入功能。首先,您要问函数与类,但是您只知道这些示例都不是类。 (我们将忽略类在js中只是花哨的函数,因为在这种情况下与它们无关)。
示例中包含的是两种功能的组合。您有function expressions(这是您的“正常”功能)和arrow functions。
箭头函数是函数表达式的一种特殊的紧凑形式。它们非常紧凑,非常适合许多(但不是全部)事物。请查看resources like this one,以完全了解它们之间的差异。
最后,回答您的特定问题:
= () =>
和= props =>
以及= (props) =>
和= (props, others) =>
都可以工作,但是= =>
= props, others =>
无效。function
或第一个=。为了正确起见,它应该是const Location = () => {}
或function Location = () => {}
(作为常规函数)或const Location = function locationFunction() {}
(但在这种情况下,箭头函数可能不太冗长)。请注意,在这些示例中,在函数声明之后使用花括号来容纳函数的主体。这是正确的,但是如果箭头函数正在运行单个命令或立即在SAME行中返回某些内容作为声明,则箭头功能可以省略花括号。
例如:handleOnPressEvent = event => console.log(event)
不需要花括号。或twoPlus = (num) => 2 + num;
与
twoPlus= (num) => {
return 2 + num;
}
希望可以将其清除一点。箭头函数和常规函数之间还有其他区别(函数和类之间还有更多区别),所以我建议您进一步研究它们。
欢呼