169 похожих чатов

Мне кажется, что даже если специально постараться сделать хуже, вряд

ли получится. Это из разряда, у меня для вас есть классы, но я вам их не отдам.
1. Переопределение конструктора. Сколько можно уже такое делать
2. Деструктор/cleanup выносится в отдельную функцию из класса… Имопртируется какое-то непонятный registerDestructor. Зачем мне эти детали?
3. Никаких предустановленных полей, сам пиши каждый раз this.element = element и всю прочую ерунду. Очищай предыдущий стейт в modify тем же самым cleanup…
4. еще вишенка в том, для трэканья параметров я его должен явно указать в аргументах modify…

2 ответов

14 просмотров

Наверное ребята писали ember-modifier для универсального использования не только в Ember, но и в Glimmer. registerDestructor используется потому что у Ember runloop со своей стадией destroy. Подключают его в конструкторе, потому что а где его еще подключать, конструктор самое подходящее место. cleanup снаружи класса модифаера просто для примера, можно написать и как метод. А про передачу аргумента, ну так реактивность работает

Yuri- Автор вопроса
Stanislav Romanov
Наверное ребята писали ember-modifier для универса...

Реактивность в компонентах работает и без этого прекрасно. Что мешало оставить как было и иметь this.args + didUpdate? Переопределение конструктора и вызов super это отвратительная практика. Можно было определить метод в родительском классе, как, собственно, и было раньше с willDestroy. Cleanup «не снаружи» делается со всякими bind this и т.д, так ведь? Неспроста они это в примере вынесли. Можно, конечно, написать свой modifier класс базовый, но это же немного противоречит концепции convention over configuration. Да и некоторые проблемы не исправит.

Похожие вопросы

Обсуждают сегодня

А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
131
Ребят, что лучше для реверса: гидра или ида?
En Vind Av Sorg
26
Вопрос я правильно понимаю что в коде newtype ArrowMap k v = ArrowMap { getArrowMap :: k -> Maybe v } getArrowMap есть функция типа k -> Maybe v, если да, то не понимаю задач...
Fedor
64
Делаю велосипед логгер. К сообщению хочу прикрутить некоторую информацию, типа, кем отправлено, какой уровень, и всякое такое. И тут подумалось мне, почему бы не хранить весь...
Serjone
24
Как Вы считаете нормально ли в двадцатых годах 21 века в ВУЗах Российской Федерации обучать студентов работе с TASM? Не слишком ли это "архаично"? (Если оффтоп или флейм для э...
Spiker01
52
Комрады, хотел уточнить. Проперть в OnDestroy юнита-хозяина по-прежнему доступна? И еще уточнение: finalization юнита наступает раньше или позже OnDestroy?
Ed Doc
48
а не подскажете вот это скрин из какой IDE ?
Iluha Companets
14
Продолжая диалог про свифт в проде – сейчас возник вопрос в активном наборе бекендеров. В основном в нашей компании мы фанаты Java Spring и полностью ей довольны. Однако найм ...
Guseyn
27
Народ всем привет Подскажите, как включить самописные dll библиотеки в итоговую сборку Сейчас при запуске dev сервера локально формируется папка build, из которой запускается...
Андрей
4
Читаю сейчас [нет, уже больше не читаю!] курсовую о Булгакове, написанную, похоже, с помощью ChatGPT. Это удивительный психоделический опыт. Текст в основном написан в стиле б...
✨ Uni [🌊 В отпуске]
1
Карта сайта