All streams
Search
Write a publication
Pull to refresh
24
0
Andrew Ka @comerc

#кодеротбога

Send message
такая магия есть только у Метеора. У остальных — только реактивные переменные.

Внезапно такая магия в Метеоре называется ReactiveVar :)

Это заброшенные проекты!

А невозможно угодить всем и вся. Это нужна обертка на каждый случай применения. Был у меня подобный печальный опыт с Meteor-овскими велосипедом AutoForm. На первый взгляд — замечательно. Описываешь конфиг и оно само тебе формы выдает! Для двух полей это работает. Но когда формы большие, да со связанными полями. Божечки. Тормозит жутко. Глючит. И опять же вынуждает тебя лезть под капот с кувалдометром. Автор забил на пулл-реквесты. Остаётся форк — вешаешь на саппорт большую кучу "универсального" кода. Оно надо?

Есть прекрасная статья, как организовать магию реактивности. Но на redux-е. Тынц.

462 открытых issues как бы намекают. Я не смог себя заставить. Кода для обслуживания получается больше, чем без redux-form. И нужно думать не только о поведении формы, но как ее заставить работать с помощью этой прекрасной обертки. В морг.

А в чем печалька с формами? Захотел легкой жизни, добавил в проект redux-form. И тут началось. Выпилил. Вернулся к ручному труду. Собираюсь поделиться навыками, пока выписываю в блокнотик тезисы для заметки.

Так я же предлагаю развернуть дискуссию не в самой статье, а в комментариях.

Потом еще вот эту статью нужно прочитать обязательно.

Не понял логику. Зачем ошибку возвращать в then?

Получается, что, если асинхронная операция будет выполнена успешно, то выполнится onFulfilled callback в первом then, а далее onFulfilled callback во втором then.
Но что, если асинхронная операция завершится неудачей? Выполнится onRejected callback в первом then, а затем(внимание!) onFulfilled callback во втором then.
Почему? Смотрите выше правило для then-callback.
Исходя из него — чтобы вызвать следующий onRejected callback(которого кстати нет), необходимо: либо вернуть промис, который будет rejected, либо выбросить исключение.

А вот тут огромная СПАСИБА! :)


Я раньше оборачивал в новый Promise, теперь буду знать.

Как обычно, хочется услышать несколько слов, почему MobX а не Redux. Для непосвященных.

$50 каждый год теперь имею

Судя по первой статье, доходы каждые два года нужно делить на два.

Такое на продажу клепают, насколько я понимаю.

А вообще — с таким либо в issues на Github, либо в личку.

Гы-гы. Для сравнения — perfect world.

А вторую половину реализует не менее прекрасный redux-act.

А не запускается пример:


$ git clone git@github.com:kirill-konshin/create-react-server.git
$ cd ~/create-react-server/examples/create-react-app
$ npm update
$ npm install create-react-server --save-dev
$ npm start

Failed to compile.

Error in ~/create-react-server/src/wrapper.js
Module not found: 'react' in ~/create-react-server/src

 @ ~/create-react-server/src/wrapper.js 1:12-28

Вот это уже интересно! Попробую воткнуть в свой новый проект.

А будет ли оно работать в таком виде?


import memoize from 'lodash.memoize'

export const ga = (eventCategory, eventAction, eventLabel) => memoize(() => {
  if (typeof window.ga === 'function') {
    window.ga('send', 'event', eventCategory, eventAction, eventLabel)
  }
})

Information

Rating
Does not participate
Registered
Activity