当我有一个React钩子并且在其中时,我想在其中定义一个函数,我最好使用
useEffect(() => {
//...
function handler() {}
//...
}, []);
或更新的const声明
useEffect(() => {
//...
const handler = () => {}
//...
}, []);
Javascript处理这些事情是否完全相同?
如果我定义一个const,它仅在当前范围内有效,而定义一个函数在其他地方将有效,这是真的吗?
React是否需要在不同作用域中可访问的功能,或者它们仍保留在当前挂钩范围中?
答案 0 :(得分:2)
由于 THIS 过去已经使用React Hooks了,所以您可以同时使用它们:)只是语法糖es6。
如果您想进一步了解它们之间的差异,可以使用这篇文章:https://www.freecodecamp.org/news/constant-confusion-why-i-still-use-javascript-function-statements-984ece0b72fd/(还有很多)
反应灵敏的钩子具有相同的范围
答案 1 :(得分:2)
只能在纯组件中使用反应挂钩,即功能。因此,您在此处所做的大多数事情都可以正常工作,就像仅使用一些js函数一样,实际上并没有太大区别。在钩子本身中不可能实现所有事情,例如一次,我试图使useEffect钩子回调成为异步函数,并收到警告要在其中运行异步函数。
在纯组件内,该功能实际上并不需要,所以正如Renaldo Balaj所说的,使用常规功能或箭头功能没有区别。