🔥

Тред (Дэн Абрамов)

Давайте сегодня такой формат — отвечаю на вопросы про hot reloading JS-кода. От общих до сугубо технических.

Начну с пары инструментов. Есть вот Figwheel. Кажется, он офигенный. Но увы, только ClojureScript. :-( youtube.com/watch?v=j-kj2q…

Есть React Hot Loader. Он только для реакта. Это мой проект. Вот видео, с которым он запустился: vimeo.com/100010922

Есть Amok. В отличие от Figwheel и RHL, он зависит от конкретного браузера (Chrome). amokjs.com

LiveReactload использует тот же движок, что и RHL, но под Browserify: github.com/milankinen/liv…. К сожалению, он re-evaluat-ит все модули.

React Native Webpack Server позволяет использовать живую перезагрузку React Hot Loader внутри React Native: github.com/mjohnston/reac…

Конечно, он работает только с React-компонентами. @snejink

В Flummox вторы — классы. Из них трудно «выдирать» стейт, потом переносить в новый инстанс, как-то перерегистрировать их. @smashercosmo

В Redux вместо уторов чистые функции-редюсеры, которые «собираются» композицией в одну. Эта одна функция — всё, что заменяется @smashercosmo

React Hot Loader заменяет функцию render(), и в итоге рут-компонент получает новую чистую функцию в props, и ей пользуется. @smashercosmo

Вынос состояния «вне» имеет другие плюсы — возможность строить крутые тулзы для logging и time travel. @somerandstring