Обновить
18
-19
Andrew Ka @comerc

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

Отправить сообщение
Мне такой "велосипед" нравится

Вам сюда :)

Отвечаю сам себе — беда. :)


Выпилил Standard. Prettier более лоялен. Например, мне нравится оставлять запятые в конце объектов и массивов:


{
  a,
  b,
  c, // запятая позволяет добавлять следующее поле объекта без редактирования предыдущего
}

Ещё довод, CRA рекомендует Prettier.


Но Prettier-ESLint забраковал, он гробит комментарии. Подключил автофикс в хуке на прекоммит, можно пощупать пример.


Что надо для счастья — фрагмент из package.json


{
  "devDependencies": {
    "husky": "^0.13.3",
    "lint-staged": "^3.4.1",
    "prettier": "^1.3.1",
  },
  "scripts": {
    "precommit": "lint-staged"
  },
  "lint-staged": {
    "*.js": [
      "prettier --print-width 100 --single-quote --trailing-comma all --no-semi --write",
      "git add"
    ]
  }
}

Как настроить отладку CRA внутри VSCode. Не думал, что когда-нибудь скажу такое, но этот продукт от Microsoft прекрасен.

Прочитайте это — тоже Илья Климов научил.

Я правильно понял, это типа как вставить console.log() в JS для дебага?

Позвольте, я тоже отвечу на этот вопрос. Vue пугает тем, что это монолит. Полновесный фреймворк, который даёт тебе ответы на 95% вопросов. Многие считают это благом. Но у меня уже был печальный опыт с Метеором. Хочется больше контроля над составными частями проекта. Потом, как только я узнал о Reactive Native, а было это осенью 2015-ого года, то заплакал — прочувствовал избавление от мучений, проект на Cordova под iOS тормозил нещадно. Инвестиции в освоение React-а — лишь промежуточный этап на пути к React Native. Угу, под Vue есть Weex для мобильной разработки. Но он пока очень скромно выглядит в сравнении с React Native. Expo.io — отдельный праздник. Дальше-больше, сравните выбор компонентов для Weex и RN. Ещё, React+MobX — это и есть Vue, как написано в документации Vue, только у меня больше пространства для маневров. К примеру, активность коммитов в репозитории MobX за последний месяц подозрительно упала до ноля. Полез смотреть, чем занят автор, а он уже два месяца активно пилит MobX-State-Tree — и это будет революция, надеюсь. Ещё в огород Vue, не понимаю я радости от модификаторов в шаблонах — вместо JS предлагается очередной птичий язык внутри шаблонизатора — проходили, я просто очень давно живу. :)

вернется унылый es6

А я уже выработал привычку его любить. :) Функциональные фишки, Flow, Standard. Открыл для себя VSCode — это щастье.

нормальный способ отмены чего-либо предложен в Observable

А где про это можно почитать?

Про отсутствие конфигурации в Create React App — есть обходные пути: react-app-rewired, custom-react-scripts. И для TypeScript существует форк. Кстати, "важные новости": Microsoft выложил TypeScript-React-Starter на базе Create React App.


Prettier vs Standard — в чём разница? Standard ужесточает холиварные вопросы, которые можно конфигурировать в Prettier. Недавно прикрутил Standard и безумно счастлив. Есть несколько плагинов для редакторов кода, которые позволяют использовать Prettier и Standard вместе — оно надо? Пока не разобрался, какая будет польза от совместного использования.


В мире Clojure есть ещё один прекрасный инструмент — Parinfer. Привет табуляции Python и CoffeeScript. Не знаю почему общепринято хейтить CoffeeScript, он меня очаровал этой фишкой настолько, что весь остальной код веб-проектов перевёл на синтаксис с табуляцией: JADE для HTML-шаблонов, Stylus для CSS, YAML для JSON. Увы, всё это в прошлом.

const pure = (fn: Function) => {
  class Wrapper extends React.PureComponent {
    componentWillMount() {
      // this.onClick 
    }
    render () {
      return fn(this.props, this.context)
    }
  }
  Wrapper.displayName = `pure(${fn.name})`
  return Wrapper
}

const myComponent = pure(({ onClick }) => {
  return (<div onClick={onClick}>Hello!</div>)
})

На примере HoC для PureComponent. Как прицепить onClick к инстансу HoC. Только надо как-то мемоизировать.

Конкретно. Интересует пример проекта с применением MobX. Redux нравится тем, что это архитектурное решение.

Что-то уже не найти asFlat по ссылке.

Обернуть в HoC, наверно.

Ещё нашёл такое:


import memoize from 'lru-memoize';

let multiply = (a, b, c) => a * b * c;

multiply = memoize(10)(multiply); // with limit

export default multiply;

Хочется решение для функциональных компонентов.

Спасибо! С параметром ?react_perf появился разворот User Timing. Но по-прежнему не вижу чекбоксов: Network, JS Profile, Paint.

Шикарная вводная, второй раз уже перечитываю этот сериал, спустя год. Расскажите за Nim, пожалуйста!

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность