Вопрос от нубика, только узнал про реакт контекст, даже не зная особо ничего про редакс чувствую что они близки, но вопрос немного про другое.
Читал что передавать в дочерний элемент пропсом колбек для смены стейта в родителе - плохая практика и это не реактовский подход.
В то же время сделать контекст и из любого дочернего элемента менять стейт родителя - хорошая практика и это является реактовским подходом.
Почему первое плохо, а второе хорошо?
ну, передавать колбек вниз особо проблемы нет, если внизу небольшой компонент. Проблема в том, что любой компонент эта функция и когда она ререндерится, то все переменные и дополнительные функции внутри себя - тоже ререндерятся и это вызывает ререндер нижнего компонента. Но и с этим можно бороться, useMemo или useCallback мемоизируют сам колбэк.
Обычно в контекст выносят определенную логику, которая повторяется во многих местах, на разном уровне вложенности, чтобы не было особого геморроя в доступе к ней.