Как стать автором
Обновить
29
0
Полуэктов Дмитрий @Ashot

Front-end

Отправить сообщение

Подозреваю, что мой сарказм не совсем понят, поэтому разверну: общение с носителями языка, чтение книг в оригинале, просмотр фильмов без дубляжа и т.д. - всё это давно всем известные и зарекомендовавшие себя способы изучения языка. Но это даже не методика, это элемент методики.
Так что вы ничего не изобрели и не разработали.
Возвращаясь к теме поста: вам видимо таки не берут из-за софт-скилов(в комментах вам об этом уже писали), если вы так же обращаетесь с работодателями, то вряд ли возьмут

Redmi 12 вчера обновился, проблем не было. Видимо оно как-то избирательно убивает девайсы

То есть общение с носителем языка и чтение технической литературы на английском и есть та самая методология? А мужики-то не знали...

Да даже за деньги не всегда работает. Наставничал на курсах по js, так там нет-нет да попадаются люди, которые заплатили условные 20к и ничего не делают.

Надеюсь, что вот эти нелепые примеси английских слов не есть ваша методология изучена языка?

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

Дедушка отправил подарок до нового года, но олени почему-то решили пооленить аж до 11 числа.

но подарок нашёл внука

Как раз заказ датчик Яндекса для Алисы, придётся отменять. Так что дедушка попал в точку.

Лучше был бы этот трейлер - он крутой. А в статье какая-то чухня

Почему я перестал использовать Vim...
Потому что я нашёл, как из него выйти!

Простите

const mutation1 = useMutation({
  mutationFn: (value) => service1.fetchData(value),
})
const mutation2 = useMutation({
  mutationFn: (value) => service2.fetchData(value),
})
const mutation3 = useMutation({
  mutationFn: (value) => service3.fetchData(value),
})
const mutation4 = useMutation({
  mutationFn: (value) => service4.fetchData(value),
})
const submitHandler = async (formData) => {
  const responses = await Promise.all([
    mutation1.mutateAsync(formData.fieldValue1),
    mutation2.mutateAsync(formData.fieldValue2),
    mutation3.mutateAsync(formData.fieldValue3)
  ]);

  if (responses[1].isExistSomeData) {
    const data = await mutation4.mutateAsync(responses[0]);
    service5.showSuccess(data);  
  } else {
    service5.showFailure();  
  }
};

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

Никакой особой магии, которую зачем-то приписал автор, они не дают:

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

Нет там никаких магических обновлений кеша. Результат мутаций хранится в своём кеше и вообще никак не относится к кешу query(которые отдаются при использовании useQuery). Класть данные в кеш query нужно руками, что вполне выполнимо и вашим способом.

Rtk-query всё равно уступает react-query. Rtk требует настроек слайса, потом ещё стора. Да, в стор надо добавить несколько строк, но это всё равно лишние телодвижения. Для React-query же по сути требуется ключ и запрос.
Один раз довелось пощупать rtk-query - не впечатлило. React-query one love

Да причина популярности проста - упрощение работы с серверными данными. После хранения сервеных данных в редаксе это прям глоток воздуха.

обалдел когда увидел апи и кучу флажков...

В большинстве случаев достаточно использовать isLoading.

обалдел когда попытался по сабмиту сделать три параллельных запроса

Если речь про мутиции, то есть метод mutateAsync, который возвращает Promise и работает с async/await.

Оно конечно предлагает использовать queryClient.fetchQuery,но как я понял теряются многие рекламируемые плюшки.

Плюшки не теряются. queryClient.fetchQuery так же как и useQuery(собственно под капотом и вызывается .fetchQuery) сохраняет данные в кеше. Вызываем queryClient.fetchQuery вне компонента, внутри компонента имеем доступ к данным по ключу через useQuery.

Я на столько стар, что помню этот сериал.
ностальгирует по-стариковски

Если ваша цель запороть проект с самого начала, то да, возьмите Effector

С таким же успехом можно "запороть" проект redux'ом. Или mobx'ом. Или чем угодно. Так что я бы не стал так уж в лоб говорить о "запороть"(эффектором не пользовался, если что)

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

А если начальник самодурствует и считает обед "трудностью", то пошёл он в жопу такой начальник

не совсем понял вопрос.
могу только сказать, что они вполне себе работают на мобилках, во всяком случае чего-то криминального в их работе я не замечал

Mattermost - opensource, можно поставить на свой сервер. Сидим на нем года 4, полёт нормальный, мыслей о поисках замены не возникает

На крышке грибы, а по содержимому вообще на какое-то варенье похоже

Варенье видимо домашнее, а крышка generic. Похоже на яблочное, но это очень не точно. Я буду вниметельнее читать комментарии

Divoom Timoo
У них калонки и в других милейших формафакторах есть(например под ретро-телефизор)

В этом году внезапно в числе первых(жаль что не в первых отправивших, но исправлюсь, честно)

Офигенная колонка!

В ней даже игры есть. Как любитель музыки и пиксель арта я в восторге! Спасибо деда!
Всех с наступающим!

Информация

В рейтинге
3 519-й
Откуда
Нарофоминск, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность