Да возврат компонента из компонента более высокого уровня (HOC) можно рассматривать как замыкание.С помощью замыкания мы можем поддерживать состояние, сохраняя значение в переменной, которая может быть доступна внутренней функцией.В случае компонента более высокого порядка мы также можем поддерживать состояние, определяя состояние на компоненте более высокого уровня, и можем передавать это состояние компоненту низкого уровня, и, вызывая функцию события в подпорках, мы можем отправлять данные обратно в компонент более высокого порядка.
Разница: В случае закрытия у нас нет контроля над условным рендерингом.Если мы хотим визуализировать только дочерний компонент, мы можем легко сделать это в случае компонента более высокого порядка с помощью метода жизненного цикла ShouldComponentUpdate (), но мы не можем сделать это в замыкании.В случае закрытия function2, function3, function4 имеют доступ к переменной x
function1(){
var x = 4;
return function2(){
return function3(){
return function4(){
}
}
}
}
В случае компонента более высокого порядка у нас есть контроль над тем, какие данные отправлять в компонент более низкого уровня.Мы можем сделать x доступным для function1 и function2, отправив как реквизиты, но у нас есть возможность не отправлять в function3, а также в function4.Таким образом, мы можем иметь больше контроля в случае компонента более высокого порядка.Все компоненты будут иметь собственную копию переменной x.