Ⓢⓔⓡⓖ
почему что-то не нужно, то, что мы с успехом используем вместо Redux уже на втором среднем по величине проекте?
Alex
Всем привет, только начал изучать реакт по этому возможно глупый вопрос но все же.
Как лучше делать:
1) проверять условие если state: true то менять класс в рендере чтобы отобразился элемент. При этом элемент уже как бы в доме находится и скрывается за счёт ксс
2) сделать проверку такую же но рендерить блок только когда true при этом блок в доме будет появляться только когда стэйт будет тру
Ⓢⓔⓡⓖ
Ⓢⓔⓡⓖ
Но если вычисления усложнятся (не простая проверка на true, а что-то более серьёзное), то нужно выносить её из рендера
Alex
Alex
👁
Прячет реактивность и функциональность (в значение функциональное программирование) за императивным интерфейсом.
В итоге шаг в сторону и придётся костыли писать.
Но не буду отрицать, что MobX для каких-то проектов и команд подходить не плохо. Я сомневаюсь, что он хорошо себя покажет в долгих проектах.
Ⓢⓔⓡⓖ
Никаких костылей. Удачно сочетаются и функциональные компоненты, и объект, который управляет состоянием в виде обычного алгоритмического предписания
👁
Ок
👁
Именно это и является проблемой
👁
Но это конечно не очевидно
Глеб
Глеб
Всем доброй ночи, подскажите как с помощью реакта этот nav bar сделать прозрачным?
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
Pavel
Anonymous
Vadim
я читал исходники и того и другого, redux проще, имхо
Anonymous
В исходниках проще, при использовании наоборот
Vadim
Каждому свое
Anonymous
Жедем дас сейн
Anonymous
)00)
Владимир
👁
Если прикрутить поверх фунционального решения (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 библиотекой?
Владимир
ты это делал?
👁
это ответ на мой вопрос?
Pavel
👁
именно так
👁
но речь идет о сравнении редакса с мобиксом
👁
я параллельно посмотрел, как кто делает хистори в mobX
👁
пример от Formidable меня убедил
Pavel
👁
в моем случае не редкий
👁
но не важно
я уже нашел пример на MobX, который меня устраивает
👁
так и ваши случаи не показатель, что MobX круче для всех :)
Pavel
👁
с тем, что какое-то отдельное решение не для всего и не для всех я полностью согласен
Pavel
👁
уважаю
👁
я если ситуация позволит от JS откажусь
Pavel
Mobx хорош и явно лучше чем redux, в качестве транспорта по доставке изменений в компонент
👁
ты про количество кода, который надо писать и читать?
👁
я серьезно
👁
ClojureScript
Влод
если все отменяемые действия описать в виде данных, то анду/реду изи же делается. просто список из действий и указатель на текущее действие. при том что в редаксе и так уже есть экшоны их просто нужно отфильтровать и поместить в стейт. как бы это базовое применение редакса
это в принципе лучше ложится на фп, чем императивное
👁
👁
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)