Вопрос №55709 от пользователя Дмитрий Бердников в уроке «Асинхронные действия», курс «JS: Redux (React)»
Здравствуйте! Подскажите пожалуйста
fetchtasks вызывается, чтобы явно показать вызов функции?
store.dispatch(fetchTasks());
Можно же переделать логику и передавать функцию без вызова функции, но тогда это будет менее понятно? store.dispatch(fetchTasks);
Приветствую, Дмитрий!
fetchTasks - это функция, которая собственно создаёт действие. И чтобы выполнить конкретное действие, производится вызов этой функции, которая в свою очередь возвращает объект действия передаваемый в dispatch. Код в принципе можно переписать так, чтобы объект действия сохранялся в константе и её передавать в dispatch(), но какой в этом смысл? Логика ведь только усложнится и кода станет больше.
Спасибо за ответ! Но мне кажется мы говорим про разное.
В ревью 38 строка в файле src/actions/index.js для примера убрал внешнюю функцию
Так как мы сами не вызываем функцию и не передаем ей аргументы, то мы можем не использовать функцию обертку, которая возвращает другую функцию.
Поэтому я спросил, если мы в store.dispatch(fetchTasks) не вызываем функцию это менее понятно и считается плохим тонном? То есть лучше всегда делать дополнительную функцию обертку, даже если мы не передаем ей аргументов?
Дмитрий, да, вероятно я вначале не верно понял ваш вопрос. Отвечу на него. В решении можно и не оборачивать функцию в другую функцию, если не требуется передавать никаких параметров. В данном случае это сделано для однообразия, чтобы не держать в голове, что один экшен нужно вызывать так, а другой иначе. Кроме того такой подход описывается в документации redux-thunk.
Станислав Дзисяк, теперь понял, спасибо
Используйте Хекслет по максимуму!
- Задавайте вопросы по уроку
- Проверяйте знания в квизах
- Проходите практику прямо в браузере
- Отслеживайте свой прогресс
Зарегистрируйтесь или войдите в свой аккаунт
С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.







