React中的高阶组件是闭包吗?



React有一个高阶组件(HOC)。

具体来说,高阶组件是一个接受一个组件并返回一个新组件的函数。

高阶组件是不是闭包?

如果是或否,为什么?

如果第一个函数有参数,则返回一个函数的函数可以被认为是闭包,因为返回的函数会持续地"关闭"。

const higherOrderFn = (arg1) => {
return (arg2) => arg1 + arg2;
};
const add3 = higherOrderFn(3);

这里,包含在add3中的函数闭合于传递给高阶函数3的参数上。

在React中,高阶组件也在做同样的事情。组件是一个函数。返回组件的函数是高阶函数。如果初始函数调用传递了一个在返回的函数/组件内部使用的值,那么这里有一个闭包。

最新更新