Рубрики
Без рубрики

На государственном управлении и почему я перестал его использовать

В мире фронта/JavaScript был один раз, когда руководство государства царствовало на высшем уровне. … с меткой JavaScript, State Management.

В мире фронта/JavaScript был один раз, когда руководство государства царствовало на высшем уровне. Доминирующий игрок был Redux, в основном использовался разработчиками React.

Государственное руководство имело (имела) цель. Это позволяет вам делать такие вещи, как идти назад и вперед на протяжении всей истории государства, удобные для тех случаев, когда вам нужна какая -то функциональность. Это также может помочь вам понять, что происходит внутри ваших приложений благодаря отладке путешествий во времени.

Шаблон и бай-ин

Самым большим недостатком государственного управления является шаблон. После того, как вы сделаете первоначальную настройку вашего государственного управления, вам придется придерживаться парадигмы государственной библиотеки, которую вы используете. Вы должны ознакомиться с такими понятиями, как редукторы, действия и другие термины, которые могут быть не знаком для новичков.

Затем приходит бай-ин. Вы должны изменить то, как вы структурируете и пишите код, чтобы использовать решения для управления состоянием, такие как Redux. Это означает, что если вы хотите перейти на другую библиотеку управления государством позже, вы должны пройти через свое приложение и изменить каждый экземпляр. Редко, что любые две библиотеки управления государством одинаковы.

С этим бай-ин заблокируется, что после того, как вы совершаете государственное управление, это все или ничего. В то время как ничто не мешает вам не мешать управлению государством с другими подходами, противоречивые парадигмы нуляются в целом даже в том, что они в первую очередь имели управление государством.

Как человек, который недавно имел неудачную работу по вырванию государственного управления из крупномасштабного веб-приложения, я могу сказать вам, что это мучительно.

Если существуют решения по управлению государством, которые могли быть включены, как JQUERY и BAM! У меня есть государственное управление, возможно, это не было бы проблемой, но архивирование моих приложений вокруг библиотеки, которая может быть устарела или устарела, звучит как кошмар обслуживания.

Это может усложнить формы

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

При работе с данными форм, в большинстве случаев вы имеете дело с эфемерным состоянием. Форма входа в систему существует только до тех пор, пока пользователь входит в систему, данные отправляются на сервер, а затем все. Если вы используете React, используйте USESTATE Если у вас есть тоже, но изгиб библиотеки Redux или x имен на вашу волю иметь имя пользователя и пароль в вашем штате кажется пустой тратой.

В некоторых случаях у вас могут быть данные на основе форм, которые текут на несколько этапов. Подумайте о экране регистрации, где вам нужно направить пользователя через шаги, а затем отправить в конце? Это действительный вариант использования для управления государством, потому что вы эффективно заполняете большой объект данных. Тем не менее, вы, вероятно, могли бы использовать что -то менее сложное, чтобы достичь того же самого.

Государственное управление для простых логиков? Пожалуйста остановись

Пожалуйста, ради всех остальных, окружающих вас: прекратите использование управления государством для погрузчиков и модалов. Клянусь, почти каждое веб -приложение, которое я видел с использованием государственного управления, имеет состояния погрузчика и другие логические подготовки к государственному управлению для самых глупых вещей.

Я уверен, что вы видели Isloading Используется более одного раза или логического для демонстрации и скрытия модала раньше.

Устаревшие данные

Возрастная проблема недействительной кеша. Я видел, как управление состоянием использовалось и злоупотребляло формой кэша данных, извлекая некоторые данные с сервера и хранение локально. Иногда данные не меняются, но если вы имеете дело с данными, которые могут или будут измениться, недействительно это – другая история.

Знаете ли вы, кто решил кэширование данных и недействительность давным -давно? Веб -браузеры. Иногда старый старый запрос на получение старомодного и некоторые правильно определенные заголовки – это все, что вам нужно для кэширования данных в вашем приложении и обновлять его при его изменении.

Еще раз, есть решения для этих вещей в управлении государством. У Redux есть множество плагинов, которые, например, касаются его недостатков, но можете ли вы представить себе покупку автомобиля, а затем постоянно добавлять к нему, чтобы ездить по разным дорогам?

Вам нужно вообще нужно управление государством?

Мой совет любому, начинающему новый проект, независимо от того, используете ли вы React или Svelte, не будьте настолько быстро добраться до управления государством. У него все еще есть достоинства, отладка путешествий во времени, и способность отменить/переделать изменения состояния – это функции, которые я люблю. Но чаще всего вы имеете дело с данными, которые в первую очередь не должны быть в состоянии.

Когда вы используете государственное управление, я часто говорю, как будто вы строите два приложения одновременно.

Оригинал: “https://dev.to/beggars/on-state-management-and-why-i-stopped-using-it-4di”