Ⓢⓔⓡⓖ
почему что-то не нужно, то, что мы с успехом используем вместо Redux уже на втором среднем по величине проекте?
Alex
Всем привет, только начал изучать реакт по этому возможно глупый вопрос но все же. Как лучше делать: 1) проверять условие если state: true то менять класс в рендере чтобы отобразился элемент. При этом элемент уже как бы в доме находится и скрывается за счёт ксс 2) сделать проверку такую же но рендерить блок только когда true при этом блок в доме будет появляться только когда стэйт будет тру
Ⓢⓔⓡⓖ
Но если вычисления усложнятся (не простая проверка на true, а что-то более серьёзное), то нужно выносить её из рендера
👁
Прячет реактивность и функциональность (в значение функциональное программирование) за императивным интерфейсом. В итоге шаг в сторону и придётся костыли писать. Но не буду отрицать, что MobX для каких-то проектов и команд подходить не плохо. Я сомневаюсь, что он хорошо себя покажет в долгих проектах.
Ⓢⓔⓡⓖ
Никаких костылей. Удачно сочетаются и функциональные компоненты, и объект, который управляет состоянием в виде обычного алгоритмического предписания
👁
Ок
👁
Именно это и является проблемой
👁
Но это конечно не очевидно
Глеб
Глеб
Всем доброй ночи, подскажите как с помощью реакта этот nav bar сделать прозрачным?
Влод
Всем привет. Мне тут нужно пробросить ObjC либу в рн и всё идёт вполне неплохо, но как я понимаю после детача/еджекта привычным экспо приложением пользоваться нельзя (что вполне ок) и указывать урл откуда берутся джс нельзя (что не ок). Надеюсь я чего то не понимаю и меня поправят. Крайне желательно чтобы пишущие на рн сотрудники не имели дело с икскодом (мосты пишутся один раз и обновляются в случае багов, то есть редко). И маки им были не обязательны, только айфоны. то есть кто-то собирает на маке дебажную сборку, заливает на айфон. разрабы запускают локальные серваки под любой ос, айфоны их находят. ну можно и релизную на устройство заливать, но всё равно там кажется жёстко указывается аккаунт в expo.io при сборке (не увеен само собой) Из текущей ситуации вижу только такой выход: писать ишью/пулреквест в экспо чтобы в дебажной сборке можно было указывать урл. или мб всё таки это как-то конфигурируется в ios проекте. демотивирующие ссылочки: https://forums.expo.io/t/change-development-url-of-detached-app/1049 https://dev.to/kayis/react-native-lessons-learned
Sergey
Всем привет! Разрабатываем приложение, которое должно общаться с rest api (на django написан бекэнд). Встала задача реализовать offline first подход. С редаксом пока отношения хорошие не сложились, ищу вариант правильной реализации всего этого дела. Какие варианты всплыли: 1. Заюзать realm, только вот пока непонятно как интегрировать realm object server со сторонним rest api, и возможно ли вообще. Привлекает сам realm, простота взаимодействия с ним и реализация offline first из коробки 2. redux persist, asyncstorage. Много чего непонятно, сложновато в реализации на начальном этапе, но возможно так делать правильнее Возможно, есть какие-то другие варианты, хочется понять какой из них самый простой в реализации, правильный по всем "канонам" и наиболее документированный. С редаксом в данный момент сильно разбираться не хочется, сроки поджимают
Vadim
есть mobx, но он сложнее редакса
Vadim
redux один из самых простых инструментов для управления данными
Vadim
еще проще это использовать только react
Vadim
я читал исходники и того и другого, redux проще, имхо
Anonymous
В исходниках проще, при использовании наоборот
Vadim
Каждому свое
Anonymous
Жедем дас сейн
Anonymous
)00)
Владимир
я читал исходники и того и другого, redux проще, имхо
то. чего нет в исходниках, придется писать вам
👁
Если прикрутить поверх фунционального решения (React), штуку с императивным интерфейсом (MobX), то это конечно даст выигрышь в кратковременной перспективе. Не нужно ни с чем новым разбираться. Мутация данных делается привычными присваиваниями значений. Данные классами описываются. Только это все перпендикулярно подходу использованному в React. В нем не просто так избавились от императивных апдейтов DOM. Если кто-то думаю, что это для того что бы оптимизировать скорость рендеринга, то нет, это не так. Не скажу, что полностью доволен Redux, но он по крайней мере развивает идеи реакта, а не вводит обратно императивность. В итоге, многие задачи в Redux решаются маленькими middleware, которые даже можно написать самому. Попробуйте просто решить в MobX задачу менеджмента user history (undo, redo etc.), сериализации и десериализации данных. Сравните с тем, как это сделано в Redux.
Владимир
Если прикрутить поверх фунционального решения (React), штуку с императивным интерфейсом (MobX), то это конечно даст выигрышь в кратковременной перспективе. Не нужно ни с чем новым разбираться. Мутация данных делается привычными присваиваниями значений. Данные классами описываются. Только это все перпендикулярно подходу использованному в React. В нем не просто так избавились от императивных апдейтов DOM. Если кто-то думаю, что это для того что бы оптимизировать скорость рендеринга, то нет, это не так. Не скажу, что полностью доволен Redux, но он по крайней мере развивает идеи реакта, а не вводит обратно императивность. В итоге, многие задачи в Redux решаются маленькими middleware, которые даже можно написать самому. Попробуйте просто решить в MobX задачу менеджмента user history (undo, redo etc.), сериализации и десериализации данных. Сравните с тем, как это сделано в Redux.
сам редакс с провайдерами идет поперек функциональной парадигмы реакта
Владимир
возможно, она не так и хороша, если каждый пишет приблуду, как бы ее обойти
👁
не идеален да но если сравнивать с MobX, то намного функциональнее
👁
редакс мне лично не очень сильно нравится, но ничего лучше для react в js я пока не нашел
Владимир
>Попробуйте просто решить в MobX задачу менеджмента user history (undo, redo etc.) Будет не проще, чем в редаксе
👁
все что лучше на в js
👁
будет проще
Владимир
не сложнее то есть
👁
в редаксе
Владимир
на бумаге может проще или в скринкасте
Владимир
паттерн Command не вчера придумали
👁
о! кидание паттернами началось
👁
большая часть придуманных паттернов связана со специфическим подходом к ООП в C++ и Java
Pavel
Если прикрутить поверх фунционального решения (React), штуку с императивным интерфейсом (MobX), то это конечно даст выигрышь в кратковременной перспективе. Не нужно ни с чем новым разбираться. Мутация данных делается привычными присваиваниями значений. Данные классами описываются. Только это все перпендикулярно подходу использованному в React. В нем не просто так избавились от императивных апдейтов DOM. Если кто-то думаю, что это для того что бы оптимизировать скорость рендеринга, то нет, это не так. Не скажу, что полностью доволен Redux, но он по крайней мере развивает идеи реакта, а не вводит обратно императивность. В итоге, многие задачи в Redux решаются маленькими middleware, которые даже можно написать самому. Попробуйте просто решить в MobX задачу менеджмента user history (undo, redo etc.), сериализации и десериализации данных. Сравните с тем, как это сделано в Redux.
React абсолютно не функциональное решнние, этот 100% императивное решение. Анду, реду это редкий кейс, который решается легко и без redux и без mobx.
👁
Это не так.
Владимир
ну чтобы сделать undo, тебе придется в любом случае сделать структуру данных, описывающую действие, функцию для действия и функцию, отменяющую действие.
👁
зачем?
Владимир
затем, что иначе две трети твоего времени уйдет на то, чтобы отделить те данные, которые подвержены undo/redo от тех, которые не подвержены
👁
это проще, чем команды писать
Владимир
нет
👁
да
Pavel
Это не так.
Я посмотрю как ты будешь с лёгкостью делать, анду реду в реальном мире на redux, когда тебе это все надо будет синхронизировать с сервером. Я думаю ты изменишь свои взгляды на редакс )
👁
это легко делается с какой-то JS state management библиотекой?
Владимир
ты это делал?
👁
это ответ на мой вопрос?
👁
именно так
👁
но речь идет о сравнении редакса с мобиксом
👁
я параллельно посмотрел, как кто делает хистори в mobX
👁
пример от Formidable меня убедил
Pavel
но речь идет о сравнении редакса с мобиксом
Все плюсы redux мне ни разу не пригодились в реальных проектах, твои минусы сильно портили жизнь
Pavel
я параллельно посмотрел, как кто делает хистори в mobX
История с хистори это очень редкий кейс
👁
в моем случае не редкий
👁
но не важно я уже нашел пример на MobX, который меня устраивает
Pavel
в моем случае не редкий
Твой случай это не показатель что редакс круто для всех )
👁
так и ваши случаи не показатель, что MobX круче для всех :)
👁
с тем, что какое-то отдельное решение не для всего и не для всех я полностью согласен
👁
уважаю
👁
я если ситуация позволит от JS откажусь
Pavel
Mobx хорош и явно лучше чем redux, в качестве транспорта по доставке изменений в компонент
👁
ты про количество кода, который надо писать и читать?
👁
я серьезно
👁
ClojureScript
Влод
если все отменяемые действия описать в виде данных, то анду/реду изи же делается. просто список из действий и указатель на текущее действие. при том что в редаксе и так уже есть экшоны их просто нужно отфильтровать и поместить в стейт. как бы это базовое применение редакса это в принципе лучше ложится на фп, чем императивное
Pavel
ты про количество кода, который надо писать и читать?
Да и про удобством и про производительность из коробки
Evgeny
Всем доброго дня
Evgeny
https://stackoverflow.com/questions/44061155/react-native-npm-link-local-dependency-unable-to-resolve-module кто-нибудь знает как заюзать npm link в рамках https://github.com/react-community/create-react-native-app ? вот схожее ишью, но без ответа
Vadim
Кто работал с геолокацией? getCurrentPosition возвращает неверные координаты (longitude: -122.08400000000002)