JS. Объясните, как работает данный код
Разбираю код, который был написан до меня и встретил вот такую конструкцию:
export const reset = () => () => {
axios.post('какой-то URL', { action: 'какой-то action' })
.then(() => location.reload())
}
И я не очень представляю как работает эта часть: const reset = () => () =>. Почему и в честь чего здесь 2 пары скобок? Функция вызывается по нажатию. Проект написан на React с TypeScript.
Памагити.
Ответы (1 шт):
Автор решения: TilikWebDeloper
→ Ссылка
const reset - в Вашем примере является функцией высшего порядка, которая возвращает функцию.
const example = reset()
example()
Теперь example будет равен функции и Вы можете ее вызвать. Такие функции часто используют в замыкании.
const logNubmer = (number) => () => {
console.log(number)
}
or
function logNumber (number) {
return function () {
console.log(number)
}
}
const showNumber = logNumber(3)
showNumber() // console.log(3)