Pull to refresh
@MaZaAa read⁠-⁠only

User

Send message
Режет глаза отсутствие; в конце строк в коде. Не надо свои странные предпочтения выставлять на публику.
Жесть, а вы все пропагандируете адовый говнокод все хлеще и хлеще. Конечно, если использовать MobX в связке с React, то и писать будет не о чем, все и так будет прекрасно и ни с чем не надо бороться.
Как раз таки для управления состоянием в реакте серебряная пуля есть и это MobX, перекрывает абсолютно все потребности с минимальным кол-вом ненужного кода, без ущербной иммутабильности и т.п. А рекомендовать Redux или на его основе давать советы новичкам это дело грязное.
Адекватное и лучшее управление состоянием в React'е возможно только с MobX'ом. А его тут упоминают как альтернативу ущербному Redux'у, бред.
Мобикс решает проблему под названием «Редакс»

Ещё ещё он решает проблему под названием useState, this.setState
а мемоизация это побочный эффект

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

Шта? Как локальный стейт компонентов, так и глобальный стейт нужно только с помощью MobX'a и менеджерить.
Берешь MobX в связку к реакту и все оптимизировано из коробки, танцы с бубнами не нужны.
У автомобиля, поезда и самолёта тоже одна задача

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

React + MobX решает любые задачи UI.

если ещё добавить несколько библиотек уровня RxJs

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

выкинуть уродский синтаксис

JSX великолепен

У Реакта есть только одно преимущество — порог входа: он написан РНРшниками для РНРшников. В остальном в сравнении с Vue полная безнадёга и упадок.

Голый react да, но его голым или +redux используют только недалекие. Он пригоден только в связке с MobX'ом, а тут уже это небо и земля.
У них просто разные задачи

У них у всех одна задача — пользовательский интерфейс. Так что не надо наивно полагать что якобы под разные проекты подходит тот или другой инструмент, они все подходят под любые задачи из реальной жизни.
А Реакт — вообще не фреймворк.

В этом его преимущество, ибо добавляешь к нему Typescript и MobX и он сразу превращается в шикарный инструмент. А без этих 2х аспектов он убогий, спору нет.
ага, не вижу никакой жести, одна нечитабельная мешанина

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

Допустим с горем пополам ты напишешь, при помощи этой дичи, да. Мало того что на это без слез не взглянешь, так ещё потом если ты к этому коду вернешься, а уж тем более если кто-то другой вернётся, то пиши пропало.
Чисто write-only и чудовищный bus фактор со старта проекта. Нет уж спасибо)
Пожалуй не зря разумные люди выбирают писать простой и понятный код для любого человека и в любое время к нему вернись, все будет понятно. Делают хорошо и себе и окружающим, бонусом не приговаривают бизнес к скорому переписыванию проекта с нуля)
Я так и не понял зачем юзают Redux.

Банально из-за не знания того, что есть MobX и из-за лени просто посмотреть на него. Т.к. эта категория людей которые пришли в профессию только зарабатывать деньги, а не потому что им нравиться разрабатывать. В них нету предрасположенности к профессии, поэтому они пишут одноразовый write-only говно код, вместо того чтобы думать головой и делать вещи. Самое страшное, что для них не очевидно что они пишут говно, они думают что все правильно делают и у них хорошо получается.
С приходом 6 версии перестали быть нужны классы и декораторы. И то, и другое я считаю ненужным и даже вредным синтаксическим сахаром

Классы и декораторы никогда не были в MobX'e обязательным условием, все точно так же можно было использовать через observable({ test: 1 }) и т.п.

Но как бы с классами и декораторами намного удобнее, приятнее и читаемее.

Оборачивание компонентов в observer HOC для добавления им реактивности

Как бы решается просто и надежно:
import * as React from 'react';
import { observer } from 'mobx-react';
import { configure } from 'mobx';

const wrappedComponentsSet = new WeakSet();
const wrappedComponentsMap = new WeakMap();

// @ts-ignore
const createElement = React.createElement;
// @ts-ignore
React.createElement = function() {
    const target = arguments[0];

    if (typeof target === 'function' && !wrappedComponentsSet.has(target)) {
        if (target.prototype.shouldComponentUpdate) {
            delete target.prototype.shouldComponentUpdate;
        }

        wrappedComponentsSet.add(target);
        const wrapped = observer(target);
        arguments[0] = wrapped;
        wrappedComponentsMap.set(target, wrapped);
    } else if (wrappedComponentsSet.has(target)) {
        arguments[0] = wrappedComponentsMap.get(target) || observer(target);
    }
    return createElement.apply(this, arguments)
};


И теперь просто пишем
export function MyComponent() {
    return <div>{userState.email}</div>;
}

И все работает и все реактивное.

MobX — достойный менеджер состояния

Это единственное, безальтернативное и лучшее из доступных на сегодня решений, чтобы можно было работать с React'ом без боли и страданий.
Immutability — недостаток. Куда катится мир?

Принудительный да. Во фронте все это не нужно и только мешает.
И чем он хуже редакса?

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

А вообще они оба ущербные, просто используйте MobX (не MST, а просто MobX) и все проблемы с состоянием больше перестанут быть проблемами. Сделаете намного лучше для себя и для окружающих.

Ах да, может эффектор ещё хуже потому, что не требует дополнительных библиотек для реализации сайд эффектов?

В редаксе это тоже не обязательно, есть же функция dispatch.
Напишите, пожалуйста, хотя бы 3 проверяемых аргумента этого утверждения. Очень интересно.

1) Иммутабильность
2) Лапшекод
3) Бойлерплейт
4) Чистые функции
5) Вообще в целом большая избыточность кода, «спасибо» иммутабильности и чистым функциям.
6) Лишние перерендеры
7) Необходимость борьбы с библиотекой и подключение зоопарка в виде саг, санок, реселеков и прочей ереси.
А где упоминания хотя-бы о Effector, MST и классику RxJS

Так всё это ещё хуже даже redux'a (эталона всего плохого), логично что этого нет в списке.
RxJS так вообще лютая дичь. Это эталон в мире жестоких извращений.
А как же effector ?

Так он даже хуже редакса, его стыдно в список засовывать. Вы ещё скажите, а где же XState, так это ещё на 2 порядка хуже чем redux и effector.
Поставил минус, так как нет самого сильного стейт-менеджера — эффектора.

Лол, так эта дичь ещё хуже Redux'a, казалось бы куда ещё хуже, но есть куда. Логично что его тут не.
Редакс не мертворожденный, а вполне успешный, неидеальный и проверенный временем проект.

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

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

А вот MobX реально отличная штука в рамках возможностей языка, проверенный временем проект. И сознательно его игнорировать просто смешно и абсурдно. React юзабилен только в связке с MobX'ом, в противном случае унылое Г.
Странно что миллионы продакшнов об этом утверждении не знают

Это у вас такое оправдание не знания? Логика «если большинство дураки, значит это норма и мне тогда зачем быть лучше» так себе, не только в профессии, а вообще в принципе по жизни.

Information

Rating
Does not participate
Registered
Activity