Да, всё верно, вместо каких-то функций, которые изменяют объекты, вы можете использовать классический ООП подход, с классами, их свойствами и методами.
Ок, и зачем мне классический ООП в приложении где пропагандируется функциональный подход, все данные иммутабельны, а классов нет вообще?
И теперь, вместо написания бесконечного бойлерплейта, можно наконец-то сосредоточиться на написании бизнес логики приложения, что не может не радовать.
Это легко абстрагируется. Например, redux-form хранит данные всех форм в редаксе и не заставляет писать бойлерплейта вообще. Ничего не мешает абстрагировать подобным образом, допустим, все запросы к API или любые другие повторяющиеся элементы стора.
Если посмотреть примеры выше, то можно увидеть, что в случае с MobX я не использовал pure component и это не ошибка.
Зато использовал его в случае с редаксом и это ошибка. Редакс считает все компоненты чистыми по умолчанию и не перерендеривает их, если mapStateToProps вернул эквивалентный результат.
Про setState аргумент вообще надуманный и большая часть примеров с ним это просто плохой код. Например, передача в setState объектов, хранение там таймеров, использование хуков без зависимостей и тому подобное.
никакущая стабильность.Заставить приложение не падать — большой квест, особенно когда у тебя больше 5 экранов. Обновление версии языка — игра в русскую рулетку.
Не могу согласиться. Бывают проблемы на этапе сборки, но в рантайме, как правило, все хорошо. За последний месяц у нас 100% crash-free users. Экранов уже десятки.
Я читал, дескать, там неплохо реализована поддержка FlexBox
Это не вполне так, за лейаут в RN отвечает yoga у которой нет цели реализовать спецификацию CSS flexbox. Он похож, но не совсем. Такого понятия как display: inline в нем не существует. Разве что заворачивать каждое слово в свой контейнер и ставить flex-wrap.
Ещё вопрос: а как там с поддержкой SVG?
Паршиво, из коробки нет даже базовой поддержки, только растр. Через либы можно вставлять иконки, а вот живые графики вряд ли. Canvas можно поставить через сторонние библиотеки, но непонятно насколько он хорошо будет работать.
Можно вызвать на утро, отдать ключи и попросить кинуть их в почтовый ящик или оставить консьержу. Это без дополнительных затрат. Плюс есть услуги по забору и доставке ключей.
Сидеть над клинером нет нужды, на качество работы это не влияет.
Я понимаю о чем вы говорите. Анимация может быть нужна по трем причинам:
1. Для улучшения ориентации в пространстве: окно сворачивает на панель задач, а не просто пропадает.
2. Скрыть технические недостатки системы: анимация затвора в камере iOS 6 скрашивает те полсекунды ожидания, пока телефон готовит ее для съемки.
3. Существование эмоций. Об этой особенности людей часто забывают программисты. Хотя эстетика для продуктивной работы важна не менее чем функционал.
В том посте задержка обусловлена технической необходимостью. Никакого разумного обоснования ставить паузу в 200 мс для перехода по ссылке, например, я не вижу.
Ок, и зачем мне классический ООП в приложении где пропагандируется функциональный подход, все данные иммутабельны, а классов нет вообще?
Это легко абстрагируется. Например, redux-form хранит данные всех форм в редаксе и не заставляет писать бойлерплейта вообще. Ничего не мешает абстрагировать подобным образом, допустим, все запросы к API или любые другие повторяющиеся элементы стора.
Зато использовал его в случае с редаксом и это ошибка. Редакс считает все компоненты чистыми по умолчанию и не перерендеривает их, если mapStateToProps вернул эквивалентный результат.
Про setState аргумент вообще надуманный и большая часть примеров с ним это просто плохой код. Например, передача в setState объектов, хранение там таймеров, использование хуков без зависимостей и тому подобное.
Не могу согласиться. Бывают проблемы на этапе сборки, но в рантайме, как правило, все хорошо. За последний месяц у нас 100% crash-free users. Экранов уже десятки.
Это не вполне так, за лейаут в RN отвечает yoga у которой нет цели реализовать спецификацию CSS flexbox. Он похож, но не совсем. Такого понятия как
display: inline
в нем не существует. Разве что заворачивать каждое слово в свой контейнер и ставить flex-wrap.Паршиво, из коробки нет даже базовой поддержки, только растр. Через либы можно вставлять иконки, а вот живые графики вряд ли. Canvas можно поставить через сторонние библиотеки, но непонятно насколько он хорошо будет работать.
Сидеть над клинером нет нужды, на качество работы это не влияет.
1. Для улучшения ориентации в пространстве: окно сворачивает на панель задач, а не просто пропадает.
2. Скрыть технические недостатки системы: анимация затвора в камере iOS 6 скрашивает те полсекунды ожидания, пока телефон готовит ее для съемки.
3. Существование эмоций. Об этой особенности людей часто забывают программисты. Хотя эстетика для продуктивной работы важна не менее чем функционал.
www.flickr.com/photos/kortunov/7266949910/ — вот тут особенно, попытка понять форму плоскости на которой лежат бумажки взрывает мозг.