Pull to refresh
4

User

Send message
У меня дома Nvidia Shield TV с GameStream и комп в офисной квартире. Оба девайса под роутерами и натами. Решил проблему поднятием P2P-сети через NeoRouter Mesh. Пинг 3 мс, все отлично.
Не обязательно, но предпочтительно. В примере, очевидно, у нас логика и состояние вью-модели, логику презентации конечно нужно не выносить :)

mobx — это про MVVM. За состояние V отвечает VM.

function useFriendStatus(friendID) {
  const [isOnline, setIsOnline] = useState(null);
  // ...
}


Разве здесь не должен быть useState(ChaAPI.friendsStatus[friendID].isOnline), и что тогда будет, если придет значение с другим friendID? Поскольку это initialState, то значение isOnline не изменится. Как это разрулить хуками?

Можно дать юзеру возможность сгенерировать и скопировать пароль.

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

Как мне видится, гамбургер это больше про второстепенную навигацию и он все же нужен, а вот у авторов там похоже находилась основная.

Или что-то свое кастомное? Не приведет ли кастомное к ошибкам. Например сервер возвращает строку «wrong_email_or_password», а на клиенте при проверке на равенство я потерял букву.

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

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

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

«Как выглядит программирование в одиночестве» — Экстравертам не позавидуешь…

Это не Flux, у вас нет диспетчера и Action не как событие. Сегодня на фронтэнде без этого никак, иначе слишко будет легко. А вообще такой подход можно использовать в связке mobx/immer и получить как бонус точечное обновление компонентов.

Я бы прикрутил теги.

TS -> EsNext -> Babel — лучший вариант — поддержка плагинов + конфигурируемая транспиляция

Да нет, нити это просто информационный канал между хостом и симуляцией.

Иногда проще в каком-нибудь методе для Dictionary/HashSet заюзать Tuple, чем городить под это дело целый класс с однотипной реализацией override Equals.

Не лучший пример, где дочерний компонент управляет состоянием родительского (appActions.setLoading(true/false)).
Покажите как с помощью redux сделать так: app.IsLoading = app.postForms.some(f => f.IsLoading)

Купить палку колбасы, если будут яйца — купить десяток

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

Information

Rating
Does not participate
Registered
Activity