Мы обнаружили некоторые файлы в нашем приложении, которые используют библиотеку EOL React Recompose .
После изучения композиции функций звучит, как то, что Javascript может делать изначально
Предполагая, что foo
и bar
являются функциями высшего порядка (компонентами), которые оба возвращают функцию, которая принимает другую функцию.
Может ли кто-нибудь объяснить разницу между использованием функции для составления других функций, например:
compose(foo(arg), bar(arg2));
И просто объединить функции без библиотеки следующим образом:
foo(arg)(bar(arg2))
Документы для compose
читаются:
Используется для объединения нескольких компонентов более высокого порядка в один компонент более высокого порядка. Это работает точно так же, как функция с тем же именем в Redux или lodash flowRight ().
А документы для lodash / flowRight читайте:
Создает функцию, которая возвращает результат вызова указанных функций с привязкой this созданной функции, где при каждом последующем вызове возвращается возвращаемое значение предыдущего.
Похоже, единственная разница в том, что this
привязка предоставляется для каждого вызова функции - есть ли какая-либо другая разница между ними?