диспатч а вторым getState .так же ?
да
Окей ,а зачем вообще хук useSelector ,если есть метод стора стандартный getState ,который ровно так же возвращает стейт?
тебе подписка нужна, а не просто получать стейт
State =useSelector (state=>state) State = store.getState()
предположу (!) в 1 варианте за тебя под капотом настроена подписка на изменение стейта и гетстейт выполняется каждый раз, когда происходит какое либо изменение а во атором варианте нет подписки, ты получаешь стейт только на данный момент времени
что согласно второго варианта будет вызывать ререндер нужного компонента, при изменении нужного свойства в стейте?
Ну если стейт изменится то ,state=getState() вызовется и так и соответственно перезапишется state . Или я в чем то ошибаюсь ?
Ну диспатч вызывает же ререндер,getState вроде не причём к ререндеру
даже если так, получается ты где-то в компоненте А что-то меняешь в глобальном стейте, а компонент В который кто знает где и не связан с А, тоже будет перерисовываться?
Если бы так работало, то обёртка реакт-редакс нафиг не нужна была бы раз такая пьянка пошла, то топай в код этой библиотеки и разбирайся в кишках, но зачем?)
Ааа,то есть useSelector проверяет на изменения в других компонентах стейта ,тогда не оч понятен механизм , как он чекает поменял ли другой компонент стейт(в двух словах ,кишки для меня не оч понятны но когда знаешь принцип картина становиться яснее)
Обсуждают сегодня