在 React 钩子、函数语句或 const 中定义函数?
Define function in react hooks, function statement or const?
当我有一个反应钩子并且我想在其中定义一个函数时,我会更好地使用
useEffect(() => {
//...
function handler() {}
//...
}, []);
或较新的 const 声明
useEffect(() => {
//...
const handler = () => {}
//...
}, []);
两者完全相同还是在 Javascript 处理这些事情的方式上存在差异?
如果我定义一个const,它只在当前范围内有效,而定义一个函数在其他地方有效,是这样吗?
React 是否需要在不同范围内访问的函数,或者它们是否停留在当前 hook 范围内?
因为 THIS 是过去使用 React Hooks 的一部分,你可以同时使用它们 :) 它只是语法糖 es6。
如果您想更深入地了解它们的差异,可以阅读这篇文章:https://www.freecodecamp.org/news/constant-confusion-why-i-still-use-javascript-function-statements-984ece0b72fd/(还有很多)
但在 React Hooks 中它们具有相同的作用域
你只能在纯组件中使用 React hooks,即函数。所以你在那里做的大部分事情就像你只使用一些 js 函数一样工作,实际上没有太大区别。在 hooks 本身并不是所有的事情都是可能的,比如有一次我试图让 useEffect hook 回调成为异步函数并得到警告 运行 async function inside inside.
在纯组件内部,那个函数,你真的不需要任何this,所以正如Renaldo Balaj所说,使用usual或箭头函数没有区别。
当我有一个反应钩子并且我想在其中定义一个函数时,我会更好地使用
useEffect(() => {
//...
function handler() {}
//...
}, []);
或较新的 const 声明
useEffect(() => {
//...
const handler = () => {}
//...
}, []);
两者完全相同还是在 Javascript 处理这些事情的方式上存在差异?
如果我定义一个const,它只在当前范围内有效,而定义一个函数在其他地方有效,是这样吗?
React 是否需要在不同范围内访问的函数,或者它们是否停留在当前 hook 范围内?
因为 THIS 是过去使用 React Hooks 的一部分,你可以同时使用它们 :) 它只是语法糖 es6。
如果您想更深入地了解它们的差异,可以阅读这篇文章:https://www.freecodecamp.org/news/constant-confusion-why-i-still-use-javascript-function-statements-984ece0b72fd/(还有很多)
但在 React Hooks 中它们具有相同的作用域
你只能在纯组件中使用 React hooks,即函数。所以你在那里做的大部分事情就像你只使用一些 js 函数一样工作,实际上没有太大区别。在 hooks 本身并不是所有的事情都是可能的,比如有一次我试图让 useEffect hook 回调成为异步函数并得到警告 运行 async function inside inside.
在纯组件内部,那个函数,你真的不需要任何this,所以正如Renaldo Balaj所说,使用usual或箭头函数没有区别。