Stas
но там flow другой
Stas
распростронение внутри организации. с любого ios можно перейти на специальный линк, который, кажется должен отдавать специальный .plist, далее юзер нажимает "доверяю разработчику" и устанавливает.
Stas
без ревью и смс
Demuz
Почему то у меня у текстового инпута, при смене цвета шрифта в реальном времени value и обнуляется. Кто-нибудь сталкивался? Есть ли решение данной проблемы? Запоминать слово и потом подставлять после смены цента - не вариант.
Demuz
Подскажите, насколько сложно реализовать "увеличиваемый" график на RN?
Demuz
Подскажите, насколько сложно реализовать "увеличиваемый" график на RN?
За боковые полоски двигаешь и главный график масштабируется относительно нижнего.
Demuz
Подскажите, насколько сложно реализовать "увеличиваемый" график на RN?
Теоретически, можно самому "руками" написать, но из опыта хотелось узнать.
Demuz
Может d3?
Это что? Либа?
Alexsandr
Это что? Либа?
Да она для графиков в вебе
Alexsandr
Но есть тутор как подключить ее к рн
Demuz
Да она для графиков в вебе
круто, спасибо, посмотрю.
Demuz
Подскажите, насколько сложно реализовать "увеличиваемый" график на RN?
А вот с этими полосками ниже чтоделать? Мультитч какой нибудь, или как?
Артём
Всем привет, как сделать такой компонент, который загружает фотки и позволяет их удалять?
Nick
Подскажите, насколько сложно реализовать "увеличиваемый" график на RN?
в RN нет SVG, но есть ART, в который можно передавать те же значение, какие ты бы передавал в SVG в вебе, поэтому можно юзать некоторые функции из D3. В итоге будет связка из PanResponder из RN и функций из модуля D3 d3Scale, d3Zoom
Nick
из PanResponder получаешь координаты и передаешь их в zoomIdentity.scale, zoomIdentity.translate, zoomIdentity.rescaleX и т.д.
Gena
Ни у кого нет вариантов?
Есть... но я не понимаю вашу проблему... и никто, скорей всего, не понимает... вот вы поконкретней можете сказать, что именно вам не понятно как сделать? Я тогда могу дать ссылки на нужные доки, кто-то может подскажет уже готовые решения или модули которые могут помочь...
Артём
Есть... но я не понимаю вашу проблему... и никто, скорей всего, не понимает... вот вы поконкретней можете сказать, что именно вам не понятно как сделать? Я тогда могу дать ссылки на нужные доки, кто-то может подскажет уже готовые решения или модули которые могут помочь...
Требуется сделать компонент по типу миникарусели, в которую я могу добавлять фотографии по клику на кнопки (открывается либо галерея, либо камера) Затем все эти фотографии отправляются на сервер
Артём
Хорошо, а что именно вам непонятно как делать?
Конкретно сейчас ищу реализации такого компонента А из непонятного - как хранить выбранные фотографии "временно", т.е. в промежуток до отсылания на сервер
Артём
https://github.com/react-community/react-native-image-picker
Ну это совсем не то, там просто выбор какой-то фотографии из галереи/камеры
Gena
Конкретно сейчас ищу реализации такого компонента А из непонятного - как хранить выбранные фотографии "временно", т.е. в промежуток до отсылания на сервер
Плюсую react-native-image-picker, мы его используем сейчас как самое простое решение для получения картинок от пользователя.
Артём
Хранить ссылки на фотки
Они же локально на телефоне
Andrei
Gena
Они же локально на телефоне
Вы сами так задачу описали... вам не нужно хранить временно картинки... они уже хранятся... вам их только надо показывать. Потом загрузить на сервер. Потом показывать уже с сервера )))
Gena
неа твоя рекомендованная либа тоже не грузит картинку =) вот ссылка : http://www.x-bikers.ru/board/cache/266589_1.jpg если будет время попробуй сам плз, чтоб я знал где проблема в либе или у меня )
Посмотрел. Всё грузит. Загрузка работает, декодер работает. Вы логи не читали, а ведь там явно написано что не так: 2018-08-18 16:18:20.388792+0300 SampleApp[10725:7258926] App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist file. 2018-08-18 16:18:20.390265+0300 SampleApp[10725:7258926] Cannot start load of Task <A42C463A-4CB0-4448-9F42-1CFEC85B2106>.<1> since it does not conform to ATS policy 2018-08-18 16:18:20.390537+0300 SampleApp[10725:7258944] Task <A42C463A-4CB0-4448-9F42-1CFEC85B2106>.<1> finished with error - code: -1022 После добавления вот такого в Info.plist, у меня ваша картинка чудесно отобразилась. <key>NSAppTransportSecurity</key> <dict> <key>NSExceptionDomains</key> <dict> ... <key>www.x-bikers.ru</key> <dict> <key>NSExceptionAllowsInsecureHTTPLoads</key> <true/> </dict> </dict> </dict> Но имейте ввиду, что это "хак"... и надо просто сделать https на сервере.
GrafMine
понял-принял, спасибо большое 💪👍🤝
Alexander
Как можно определить в файле, react native или web?
Gena
Как можно определить в файле, react native или web?
Config.web.js export default { type: 'web' } Config.ios.js export default { type: 'ios' } etc... SomeComponent.js import config from './Config' if (config.type === 'web') { console.log('this is web') } else { console.log('this is probably mobile') } И ещё около десятка разных способов... но лучше DI использовать
Gena
(а телеграм принципиально не умеет текст форматировать?)
Gena
Такое я знаю :) В общем, пишу библиотечку небольшую. И нужно, чтобы после сборки я смог импортировать модуль и он сам нужный импортировал
Оставьте пользователю возможность конфигурить, передавать нужные компоненты... Некоторые делают ещё разные точки входа (тоже фактически пользователю оставляют конфигурацию)... к примеру, в RN мобх коннектор надо подключать как react-mobx/native
Alexander
Оставьте пользователю возможность конфигурить, передавать нужные компоненты... Некоторые делают ещё разные точки входа (тоже фактически пользователю оставляют конфигурацию)... к примеру, в RN мобх коннектор надо подключать как react-mobx/native
Смотри. У меня есть проект и там да, несколько точек входа. Была поставлена задача вынести все это в отдельную библиотеку. Раньше я импортировал import Module from 'module' и из-за разных точек входа подключался нужный. А сейчас все будет собрано в один файл. Вот как такое решить?
Gena
Просто если вы сейчас найдете способ и захардкодите это... потом придется обновляться для поддержки какого нибудь react-native-desktop, react-native-refrigerator и что там ещё может появиться... А если позволите конфигурить это извне, есть шанс, что пользователи смогут это адаптировать без модификации библиотеки
Gena
Мне казалось, что react-native-vector-icons такой метод используют, но сейчас не вижу там такого... ща найду что нибудь
Alexander
Хотя не, жёсткий костыль
Gena
Хотя не, жёсткий костыль
И он не сработает... т.к. импорт статический... можно только попытаться (как всякие полифилы работают) проверять глобальное окружение... вроде в RN есть global.navigator и там что-то про него написано
Gena
Но это шаткое решение довольно...
Alexander
Но это шаткое решение довольно...
А если конфигурирование через env делать? Допустим, задавать process.env.PLATFORM и на основе него делать?
Gena
А если конфигурирование через env делать? Допустим, задавать process.env.PLATFORM и на основе него делать?
Неочевидно для юзеров будет скорей всего + потребует дополнительной конфигурации бандлера. Если отдельной точкой входа, то это хотя бы очевидно...
Gena
То есть предлагаешь не собирать проект в бандл? Либа будет юзаться только в шаблоне компании
Не знаю... ( Я бы так делал - собирал два бандла - один по умолчанию (для web), другой в поддиректорию /native для RN
Alexander
Неочевидно для юзеров будет скорей всего + потребует дополнительной конфигурации бандлера. Если отдельной точкой входа, то это хотя бы очевидно...
Просто в компании потребовалось делать приложение как для натива, так и для веба. Моя идея была такова. Мы делаем одно приложение. Вся логика независима от платформы. Платформа влияет только на отрисовку. Поэтому, допустим, есть HTTPService и один один для всего проекта. Там мне требуется использовать Storage. Раньше у меня была папка с двумя точками входа. А сейчас, если собирать бандл, то такое не сработает. Поэтому, скорей всего, мне придётся не собирать либу в бандл и тогда смогу реализовать через разные точки входа
Gena
Просто в компании потребовалось делать приложение как для натива, так и для веба. Моя идея была такова. Мы делаем одно приложение. Вся логика независима от платформы. Платформа влияет только на отрисовку. Поэтому, допустим, есть HTTPService и один один для всего проекта. Там мне требуется использовать Storage. Раньше у меня была папка с двумя точками входа. А сейчас, если собирать бандл, то такое не сработает. Поэтому, скорей всего, мне придётся не собирать либу в бандл и тогда смогу реализовать через разные точки входа
Вот конкретно такую же задачу мы решали уже (правда в разрезе тестирования, а не веба), т.е. нужен был набор модулей, которые работают и под node и под RN. Решали через DI... т.е. был модуль с логикой, который экспортил основной класс, которому в конструктор передавался объект с нужным интерфейсом, типа (typescript): interface IStorage { read(): Promise<IAppData> save(data: IAppData): Promise<void> } В RN приложении был класс реализующий этот интерфейс с помощью AsyncStorage, а в консольном приложении был класс, который это через fs делал.
Gena
Это может начать выглядеть очень криво, если таких "внешних" зависимостей станет много... но в разрезе RN/web, я их много не вижу... т.е. даже UI туда если впихнуть, получится: - storage - network (возможно) - ui factory... штука, которая может плодить компоненты нужных типов для веба DOM, для RN View - что-то ещё внешнее может прицепиться... тогда я бы это оформлял в виде класса Environment, который уже содержал бы нужные зависимости...
Gena
Но это всё подходит для одного приложения... если писать отдельную либу для широкого использования, то это будет скорей всего очень сложно... тогда разные точки входа
Gena
Кто Android SDK знает хорошо? Задача, получить размеры окна (Window), именно окна, не экрана. Получить изнутри View, который, для простоты, уже приаттачен к этому окну. Желательно быстро, т.е. без RPC c WindowManager.
Миша
source={{ uri: '...' }}
Stas
обычно достаточно дождаться onLayout у rootView
Gena
обычно достаточно дождаться onLayout у rootView
Это реализация SafeArea для андроид. Там отступы для системных UI, приходят в системе координат окна. А в общем случае сложно расчитывать что rootView (что нативный, что реактовский) будет занимать всё окно целиком... это лэйаут решает... т.е. он может быть меньше...
Gena
Но если не получится по простому, то два варианта, между которыми выбрать не могу... - размеры окна можно получить пообщавшись в WindowManager, это медленно, но верно )) - можно сказать пользователям библиотеки - "ничего не знаю, делайте так, чтоб ваш root view занимал всё окно целиком, мы от него отсупы безопасные определяем..."
Stas
https://t.me/android_ru мне кажется тут быстрее можно получить ответ, как правильно
Gena
можно подписаться на изменение размера rootview и на каждое изменение спрашивать текущий размер окна. в итоге при запросе из rn, будет всегда последнее значение - быстро
Да, это я под первым вариантом подразумевал... О, спасибо за ссылку... ща попробую... всё быстрей чем на SO вопрос сочинять.
Stas
https://developer.android.com/about/versions/pie/android-9.0#cutout хз, может поможет
Gena
https://developer.android.com/about/versions/pie/android-9.0#cutout хз, может поможет
Да, я читал... там сложная штука довольно... я пока хочу начать с самого простого варианта, который хотя бы без катаута системные UI измеряет... (на самом деле это автоматом и cutout должно перекрыть)
Peter
Ребят, у когонибудь была проблема при компиляции под андроид: Execution failed for task ':app:processReleaseResources'.
Peter
при ./gradlew assembleRelease
Peter
Execution failed for task ':app:processReleaseResources'. > Failed to execute aapt
Peter
гуглю, ничего не помогает
Gena
Да... была... это может быть очень разное... надо логи билда смотреть (не помню, как-то подробные должны включаться)
Gena
Там за таском assembleRelease вся сборка целиком, в том числе бандлинг... так что ошибка где-угодно может быть
Peter
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
Peter
с каким флагом запускать?
Gena
А... "Failed to execute aapt" не заметил... это сужает область поиска
Peter
отключал в gradle.properties
Peter
android.enableAapt2=false
Миша
попробуй background-color указать
Peter
https://gist.github.com/fear48/6bb7461060c0ff289cb1ee5827fc9372