Помогите пожалуйста понять синтаксис выражения на Javascript в React (Mobx) :
export default function(Component){
return inject('stores')(observer(Component));
}
Что написано по смыслу я понимаю, а синтаксис не понятен. Как я понял: inject('stores') - функция с параметром 'stores'
Что тогда означают (observer(Component)) ?
Функция может возвращать функцию, которую можно вызвать, она вернет функцию, которая при вызове вернет функцию...
function sum(a) {
const add = function(b) {
if (b !== undefined) {
a = a + b;
return add;
}
return a;
}
return add;
}
console.log(sum(1)(2)(3)(4)()) //10
Понятнее станет, если разнести все вызовы функций по переменным:
export default function(Component){
var stores = inject('stores');
var componentObserver = observer(Component);
return stores(componentObserver);
// return inject('stores')(observer(Component));
}
Продвижение своими сайтами как стратегия роста и независимости