калбек, чтобы не вызывать функцию initialState на каждый ререндер
- после инициализации filterState dispatch в useEffect зазря вызовет ререндер, так как при первом рендере в props и в filterState будут одинаковые значения (если были переданы через props. если не будут переданы то props & state = undefined и "" соответственно). Возможно стоит добавить проверку внутрь useEffect, что props.city задан и они не равны со стейтом, и только тогда вызывать диспатч.
- случашеть измениния инпута лучше обернуть в debonce (например, если ввести за 100мс 10 цифр, то дебонс позволит сделать один ререндер, а не 10)
- из ролика и из кода не ясно каким образом и как часто могут приходить сверху другие пропсы
- почему loadCities в useMemo, а не в useEffect?
https://codesandbox.io/s/strange-solomon-ymr58
- priceMax и priceMin неплохо было бы приводить к number. Думаю это следует сделать в редюсере.
Спасибо попробую
Обсуждают сегодня