IDONTSUDO
@IDONTSUDO
ЧСВ программистов идет в комплекте с первой IDE.

Насколько вообще нужны менеджеры состояний?

Я был на собеседовании в уездную галеру N, меня спросили про менеджер состояний Redux. Зачем он нужен, и тд и тп.

Я ответил что не использую менеджеры состояний, а юзаю чистый React. По скольку я до этого встречался и с другими менеджерами состояний. У меня возник вопрос.

А зачем они вообще нужны JS фреемворкам?

Где я должен 100% использовать менеджер состояний иначе фронт загнется?

P.S. Примечания автора

Я смотрел подкаст, с на котором обсуждалась тема менеджера состояний, и этот подкаст подвел к тому что менеджер нужен лишь для типизации.

Я пишу под React, использовал Vue, и так же Angular. Я сталкивался с менеджерами состояний, и всерьез не понимаю области их применимости.
  • Вопрос задан
  • 6645 просмотров
Решения вопроса 3
@abberati
frontend-разработчик
Стейт менеджер нужен для консистентного управления состоянием приложения, внезапно.
Если вы не пользуетесь менеджером состояния в реакт-приложении, то либо используете контекст (вот хорошее объяснение, почему на проде так делать не нужно), либо пишете заведомо неподдерживаемое приложение. Ну или ваше приложение — это игра в крестики-нолики с двумя полями в стейте корневого компонента.

Большие приложения нельзя писать без стейт-менеджера — это выльется в огромную неподдерживаемую кучу спагетти.
Ответ написан
WinPooh32
@WinPooh32
Stack Overflow answer searching expert
Redux используется как "глобальная переменная", в которую можно положить и взять из любой точки приложения.

Вот в этой статейке более подробно расписано.
Ответ написан
Комментировать
@dimoff66
Кратко о себе: Я есть
Нигде вы не должны использовать 100% менеджер состояний. У него на мой взгляд два назначения:

1) Отделить данные от компонентов, чтобы не прокидывать данные через(или в) 10 дочерних компонентов
2) Унифицировать доступ и запись к данным, это удобно. Все данные и структура их хранения в одном месте, запись происходит одними и теми же экшинами, а не как Год на душу положит. И получение данных из одного источника с одним именем, а не как взбредет в голову создателю нового компонента.

Такая форма стала дефакто основной в вэб-разработке. Кому-то она нравится, кому-то нет, но необходимости в конкретном проекте использовать менеджер, а тем более конкретный менеджер, нет и не будет.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@rubender
Упираешься в сложность поддерживать код. На маленьких проектах с простой логикой пойдет и просто чистый реакт. С ростом проекта и тем более если проект делают несколько программистов, то поддерживать код становиться сложно. Особенно в react, где код вместе с версткой читать такой код сложно. Второй момент это разделение логики и представления. В своих проектах я использую redoor.
Просто подключить:
const ButtonPlus = Connect(
  ({cxRun})=><button onClick={e=>cxRun('a_click')}>plus</button>
)

А акшенсы просто лежат отдельно в фале в виде:

export const a_click = ({state,args})=>({  cnt:(state.cnt + 1) })
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы