snatvb
ill-ya
но ведь наследование это плохо)
Наследование плохо? С каких пор?)) с тех под как появился реакт, golang и редукс? просто готовить его мало кто научился и вернулись назад...
Алексей
Надоели уже эти хипстеры, которые говорят, что наследование - плохо, а функциональное программирование - это очень хорошо и вообще серебряная пуля.
Pavel
в случае с реактом наследование действительно хуже композиции, но это же чат не про реакт
Алексей
В программировании практически нет однозначно плохих вещей. Даже goto где-то хорош.
Pavel
у нас в проекте например много используется наследование, но только не реактовских компонентов. нужно просто брать то что подходит лучше всего к решаемой задаче
Pavel
есть штук 5 компонентов которые используют наследование
Алексей
Например можно внести дополнительную функциональность по работе со стейтом в statefull компонент реакта.
Алексей
И тут либо миксины, либо наследование.
Pavel
почему?
Алексей
И по моему мнению наследование здесь лучше подойдёт.
Алексей
почему?
Потому что надо запихать дополнительные функции в компонент.
Pavel
я к тому, что эта проблема так же решается композицией
Pavel
без каких-либо проблем
Алексей
Как?
Pavel
Pavel
например
Алексей
Блин, это не то, здесь добавляется дополнительная хрень в props. Я вообще про другое.
Алексей
Я говорю о добавлении методов для работы со стейтом компонента. Через пропсы такое прокидывать глупо.
Алексей
Это как раз тот редкий случай для применения наследования компонент.
Pavel
так в данном случае и получается, что стейтом компонента управляет другой компонент, предоставляя ему все данные о состоянии и методах через пропсы
Pavel
и мы можем применить это для любого компонента
Алексей
вы меня не поняли, так что лучше мне показать код
Dreamerinnoise
Это не реакт чат
Pavel
так или иначе мы обсуждаем наследование
Pavel
в реакте нечего наследовать, бизнес-логики не должно быть в компоненте, состояния элементов не должно быть в компоненте, рендер так и так должен быть другой
Pavel
на этом тут закончим
Pavel
извините
Алексей
class MyAwesomeComponent extends React.Component { clearState() { ... } } например
Vlad
Исходный код подскажет
Vlad
А вообще A+ это совместимость со спекой
Vlad
Зачем тебе либа?
vitshev
обычный mongodb на нативных промисах http://mongodb.github.io/node-mongodb-native/
Alexander
Под koa лучше юзать mongoose или mongo-koa?
vitshev
В чем между ними разница?
vitshev
либо cb либо then
usernameak
then лутше
vitshev
да вроде к каждому методу дописано findOne(query, options, callback){Promise}
Nook
var foo = 1; (function (foo) { if (!foo) { var foo = 2; } console.log(foo); })(foo);
Nook
Сча быстренько все полезли выполнять в console
Vladimir
Да вроде все просто
Nook
В этом случае будет 1 =)
Nook
var foo = 1; (function (foo) { if (!foo) { var foo = 2; } console.log(foo); })();
Nook
Но если так, то 2 )
Vladimir
ну, очевидно
Завтра
так тут же просто все
Nook
Очивидно, то что сначала объявляются локальные переменные в функции и JS похер будет это var или аргумент. И после он присваивает значение в локальный foo, а через, что он был объявлен глубоко насрать
Nook
var foo = 1; (function () { if (!foo) { var foo = 2; } console.log(foo); })();
Nook
Вот еще примерчик
Nook
Уже без объявления аргумента
Vladimir
Ну да
Vladimir
Опять же, это все более менее очевидные вещи
Vladimir
Но на эту тему есть хардкорные тесты
Nook
https://habrahabr.ru/company/paysto/blog/251329/
Nook
Не для них
Vladimir
Неиспользование var решает часть вопросов
Nook
http://esprima.org/demo/parse.html
Vlad
Esprima, acorn, babylon
Vladimir
http://perfectionkills.com/javascript-quiz/
Vladimir
Не, это не хардкорный
Nook
Чет тест какой-то не хардкорный )
Nook
Даже Object instanceof Function Function instanceof Object
Nook
нет
Vladimir
там продолжение есть
Vladimir
http://perfectionkills.com/javascript-quiz-es6/
Anonymous
Ссылку, пожалуйста.
kdm🇩🇰
+1
Artem
https://habrahabr.ru/post/322568/
Zaur
Всем привет. Очередной вопрос от новичка в мире nodejs :) Пишу бота, при получении запроса от юзера, это запрос начинается обрабатываться в главном контроллере, и дальше в зависимости от разных параметров, запрос уходит по каскаду в другие ниже лежащие контроллеры. Т.е. запрос проходит через кучу мелких методов обработчиков, слава богу я вовремя познакомился с Promise. Собственно вопрос: это нормально что у меня в каждом методе обработчике создается свой Promise и отдается обработчику выше, чтобы например получить централизованный обработчик ошибок в главном контроллере? Меня мучают сомнения, потому что получается что на каждый запрос создаются куча одноразовых объектов промисей. Повторю еще раз вопрос: правильно ли в каждом мелком обработчике создавать Promise и передавать контроллеру выше?
Anonymous
Да, это вполне нормально, если везде происходят асинхронные операции, то естественно, что результат выполнения каждой из них передаётся в виде промиса
Anonymous
Если критична скорость выполнения (я бы не сказал, что это частый кейс) - то можно использовать bluebird вместо стандартных промисов
Anonymous
Anonymous
Ооо, это да))
Anonymous
Я привыкнув к его разнообразным методам уже не хочу на нативные)
Anonymous
Можно подробнее как bluebird поможет в скорости?
Ну он банально выполняется быстрее нативных