Это сбой, потому что как только вы передаете параметр в функцию, вы вызываете его, и поэтому он теперь возвращает значение (и, таким образом, становится object
).Чтобы обойти это, нужно передать анонимную функцию в событие onClick()
следующим образом, в основном превратив ее в функцию:
onClick={e => props.Store.fetchFromServer('test')}
Вот пример теста, показывающий типы функций:называется по-разному:
a = function (val) {}
b = async (val) => {
/* await console.log(val) */
}
console.log(typeof(a))
console.log(typeof(b))
console.log(typeof(a('test1')))
console.log(typeof(b('test2')))
console.log(typeof(() => b('test3')))