useDispatch;"
Не совсем понимаю, что значит "() => AppDispatch = useDispatch". Анонимная функция, которая возвращает AppDispatch, который равен useDispatch.
Почему бы не написать "const useAppDispatch: () => useDispatch;" ?
это тайпскрипт. Это обозначает что у нас есть консттанта useAppDispatch которая равняется хуку из реакт-редакс useDispatch. А :() => AppDispatch, это типизация тайпскрипта, говорит что наша константа это функция, которая возвращает AppDispatch
А что значит "() => AppDispatch = useDispatch"? То, что AppDispatch = useDispatch. Почему бы не написать "const useAppDispatch: useDispatch"?
Напрашивается, что useAppDispatch может иметь тип как AppDispatch , так и useDispatch? Но что за синтаксис "() => AppDispatch = useDispatch"?
useAppDispatch - неправильное название
а, там не вызов, а зачем это вообще? ничего же не происходит, просто смена имени хука
Это рекомендованый шаблон для Redux-rool-kit. For useDispatch, the default Dispatch type does not know about thunks. In order to correctly dispatch thunks, you need to use the specific customized AppDispatch type from the store that includes the thunk middleware types, and use that with useDispatch. Adding a pre-typed useDispatch hook keeps you from forgetting to import AppDispatch where it's needed.
а, ок, ну тогда () => AppDispatch это твой тип
ты не правильно раскладываешь на составляющие данное выражение. На простом жс это будет выглядеть "const useAppDispatch = useDispatch;" Вроде всё понятно. ": () => AppDispatch" это уже не жс, а тайпскрипт, это просто тип константы
"Почему бы не написать "const useAppDispatch: () => useDispatch;" ?" - потому что это не так, твой useAppDispatch не возвращает useDispatch, он ему равен только теперь типизирован по другому
https://metanit.com/web/typescript/2.3.php
Обсуждают сегодня