Ну а что делать, сам Electron в текущем виде это конечно костыль для разработки кроссплатформенных приложений, но и более эффективных альтернатив пока не видно.
Или что-то свое кастомное? Не приведет ли кастомное к ошибкам. Например сервер возвращает строку «wrong_email_or_password», а на клиенте при проверке на равенство я потерял букву.
Кастомные. Тут можно использовать строковые константы. Если бэкенд на ноде, то можно использовать общий код, иначе держать константы в синхронизированном виде для обоих частей.
Имхо, вся обязанность бэкенда — это отдать код ошибки и все полезные с ней данные, а как отобразить ее пользователю и на каком языке — это уже ответственность клиентской части.
Это не Flux, у вас нет диспетчера и Action не как событие. Сегодня на фронтэнде без этого никак, иначе слишко будет легко. А вообще такой подход можно использовать в связке mobx/immer и получить как бонус точечное обновление компонентов.
Иногда проще в каком-нибудь методе для Dictionary/HashSet заюзать Tuple, чем городить под это дело целый класс с однотипной реализацией override Equals.
Не лучший пример, где дочерний компонент управляет состоянием родительского (appActions.setLoading(true/false)).
Покажите как с помощью redux сделать так: app.IsLoading = app.postForms.some(f => f.IsLoading)
Разница внутренне. В первом случае мы уже имеем подготовленный скомпилированный шаблон и привязку данных. Во втором мы будем иметь постоянную регенерацию структуры элементов vdom для синхронизации и проверки изменений при каждом изменении.
Потому что органическая форма жизни не эффективна и не пригодна к выживанию. Смысл ее во Вселенной состоит в эволюции к созданию искусственных форм жизни.
Ну а что делать, сам Electron в текущем виде это конечно костыль для разработки кроссплатформенных приложений, но и более эффективных альтернатив пока не видно.
Как мне видится, гамбургер это больше про второстепенную навигацию и он все же нужен, а вот у авторов там похоже находилась основная.
Кастомные. Тут можно использовать строковые константы. Если бэкенд на ноде, то можно использовать общий код, иначе держать константы в синхронизированном виде для обоих частей.
Имхо, вся обязанность бэкенда — это отдать код ошибки и все полезные с ней данные, а как отобразить ее пользователю и на каком языке — это уже ответственность клиентской части.
Промежуточные переменные нужны для самодокуменирования кода, чтобы потом коллегам не приходилось взламывать ваш однострочник.
Это не Flux, у вас нет диспетчера и Action не как событие. Сегодня на фронтэнде без этого никак, иначе слишко будет легко. А вообще такой подход можно использовать в связке mobx/immer и получить как бонус точечное обновление компонентов.
Я бы прикрутил теги.
TS -> EsNext -> Babel — лучший вариант — поддержка плагинов + конфигурируемая транспиляция
Иногда проще в каком-нибудь методе для Dictionary/HashSet заюзать Tuple, чем городить под это дело целый класс с однотипной реализацией override Equals.
Покажите как с помощью redux сделать так: app.IsLoading = app.postForms.some(f => f.IsLoading)
Купить палку колбасы, если будут яйца — купить десяток