ArtsyomK
подскажите, стоит ли делать аутентификацию на куках при обращению к api?
Aleksei
Хорошо, как тогда рендерится картинка которая находится в ассетах эпп пекеджа?
ну слушайте, вам трудно же было посмотреть, и вы мне кинули ссылку на непонятную непроверенную статью, почему я должен объяснять сейчас. Есть желание понять, начните с просто логирования результата того самого require
ArtsyomK
какой способ аутентификации самый стойкий к взлому? я сохраняю токен в куках
Kto?
а с require они не в бандле?)
Слушай, мы походу о разных вещах говорили
Kto?
Я только сейчас перечитал вопрос, и там оказывается было то, на что Гена ответил. (import vs require) А я имел ввиду про images included via Xcode asset catalogs
Kto?
вот не надо пжста кидать статьи пишущие откровенную ерунду > React can just tell the UI layer to render the specific image without having to require or transfer the image data across the bridge
И опять же, RN просто передает в натив инфу о том, какую картинку нужно зарендерить, а не картинку целиком, следственно, что не так написано в статье?
Kto?
@gblack9 мб ты сможешь проконсалтить в этом вопросе?
luifer
“React Native Image Performance” by Adam Stanford https://link.medium.com/8BLB1BtQ8Z
Спасибо за ответы. Эта статья заставила меня усомниться. Например, для React Native совет: используйте SVG. Но если я перенесу свои ресурсы в собственные ресурсы, мне придется установить их в наилучшем формате. Например, если Android, то PNG или векторные рисунки. Правильно? Когда я читал ваши ответы, мне кажется, что реальный вопрос повышения производительности - это не «импорт против спроса», а «внутренние активы против активов JS», верно?
luifer
Sure! Sorry For google translator. First, Thanks for answering. This article made me have a doubt. For example, A General rule on React Native is: use SVG. But if I uses my resources from the native side I will have to set all my resources in its best format. For example If it is on Android, it will be: PNG or Vector Drawable and not SVG. Right ? When I read your answers, it seems that the real question of better performance is not “import vs require, but instead it is: “Native assets vs React Native assets”, right?
Gena
Sure! Sorry For google translator. First, Thanks for answering. This article made me have a doubt. For example, A General rule on React Native is: use SVG. But if I uses my resources from the native side I will have to set all my resources in its best format. For example If it is on Android, it will be: PNG or Vector Drawable and not SVG. Right ? When I read your answers, it seems that the real question of better performance is not “import vs require, but instead it is: “Native assets vs React Native assets”, right?
Да, верно. Но это не единственный вопрос. Я просто приведу несколько фактов. 1. SVG рендерить эффективно в RN нельзя. Более того, его невозможно нормально использовать в нативном iOS - нет нормальной библиотеки. Да и под Android нет, он же на стадии компиляции транслирует SVG в vector drawable. То, что программисты RN называют SVG, это JSX похожий на SVG через модуль react-native-svg (более развитый аналог встроенной в RN библиотеки ART). Его производительность очень низкая по сравнению и рендером обычных картинок. 2. Если нужно только два цвета - то вектор можно рисовать через генерацию шрифта (как react-native-vector-icons). 3. Если действительно тормозит вывод картинок, то надо разбираться с причиной, может быть слишком высокое разрешение картинки и происходит масштабирование, может проблемы в RN, может это список с огромным количеством картинок и на телефоне почти кончилась память... это надо измерять в каждом конкретном случае.
luifer
Интересно. Спасибо, что поделились своими знаниями. В заключение я думаю, что для простых иконок я буду использовать response-native-vector-icons, а если изображение сложное, я установлю его относительно родной ресурс.
ArtsyomK
а нахер, если в куки не требуют посторонних либ и поддержка проще?
Gena
какой способ аутентификации самый стойкий к взлому? я сохраняю токен в куках
В каких куках, о чем вы вообще? У вас точно проект на RN?
Gena
В общем, мне очень интересно увидеть маленький пример кода, который на react-native что-то в куки сохраняет )
Aleksei
В общем, мне очень интересно увидеть маленький пример кода, который на react-native что-то в куки сохраняет )
куки юзать можно, но придется конечно же сохранять самому и в каждом реквесте самому передавать)
ArtsyomK
да не, на сервере в куки помещаешь токен
ArtsyomK
и все
Aleksei
хм, может я что то пропустил, надо будет глянуть
ArtsyomK
то есть код с авторизацией весь серверный, на клиенте только форма отправки логина и пароля через muation graphql
Kto?
?
Aleksei
RO на неделю за мат
Sergei
можно ли изменять в flatlist после рендера , типа там текст или стили через state?
Вадим
если сам не сохраняешь, то не должны
Так, важное сообщение Все мои изыскания по хранению cookies в React-Native сводятся к этой либе, которая в нашем проекте не работает, да и вообще не поддерживается: https://github.com/joeferraro/react-native-cookies После того, как я указал разок credential: same-origin , у меня ни один запрос с помощью ReactNative не работает. Нативные методы для вытаскивания cookies - не задокументированы. Кукисы сохранятся не должны, но сохраняются и почистить их никак нельзя. Это треш и угар Увы, эта библиотека слишком молодая. И багов в ней over 9000. У кого получилось с куками? Есть ли способы работать с ними без react-native-cookies либы?
Eugene
А мобилки воообще могут в куки?)
Anton
Они на мобилках не нужны. Или есть кейсы?
Timoschenko
ребят, такой вопрос. если есть 2 елемента в массиве и они уже были отрендерены, если я их свапну местами, это конечно отразатся на экране, но будут ли они полностью перерисованы или как сказать, пересобраны с нуля ? или оно поймен что это теже элементы по их key={id}
Timoschenko
идея просто такая, что если иметь еще один view который спрятам из viewport, внем пересобирать все что нужно, и там уже можно будет получать их позицию и размер, а потом свапать местами.
Timoschenko
или идея не очень ?
Вадим
Они на мобилках не нужны. Или есть кейсы?
В бэке авторизация сессия на куках...
Вадим
А мобилки воообще могут в куки?)
Там какаята куйня. Не смог разобраться. Не нашел нормальную документацию
Вадим
Они на мобилках не нужны. Или есть кейсы?
Бэк судит по кукам. Вот тебе и кейс
Alex
Друзья! Спасайте, уже битый час мучаюсь с react-native": 0.60.4 и react-navigation": 4.0.6 на ios. На Android вроже все заработало, а вот на ios никак react-native-gesture-handler связать не могу. Связываю вручную. Если кто-то сталкивался с этим вопросом, скиньте пожалуйста ссылочку на инструкцию
ㅤ
Если вручную то там нужно вроде как cd ios && pods install
Alex
Сейчас на этом остановился. В прошлых версия вроде как вручную добавлял в Libraries и Build Phases
ㅤ
А по офф туториалу связываешь?
ㅤ
Там хорошая инструкция
ㅤ
https://reactnavigation.org
Alex
Первые 3 раза пробовал именно по ней. Но я так понял, оказывается react-native-gesture-handler один фиг нужно связывать вручную
ㅤ
Alex
Сейчас попробую еще раз все снести и по официальной инструкции
ㅤ
Да
ㅤ
А потом попробуй перезагрузить симулятор и сделать новый билд
Gena
Там какаята куйня. Не смог разобраться. Не нашел нормальную документацию
Тут лучше через исходный код разбираться (возможно с грепом). Просто куки - это св-во http клиента, RN использует okhttp3 в андроид и нативный http клиент в iOS... с них бы я лично и начал, обнаружил бы API для работы с куками и прочитал доки, дальше нашел бы места использования этих API в RN и точки вывода этого хоз-ва в JS (если они есть).
Gena
А, и при этом, т.к. сам RN не абстрагирует http клиент в нативе, то все внешние либы скорей всего чего-то сами изобретают. Шарят ли они cookie хранилище с тем, что RN использует - неизвестно, тоже вопрос для выяснения.
Alex
А потом попробуй перезагрузить симулятор и сделать новый билд
Все сделал по инструкции с официального сайта. На IOS перезагрузил симулятор, в XCode ребилд сделал и запустил через react-native run-ios - все работает. С андроидом такая же история. Магия и вопрос прямых рук:D Большое спасибо за помощь)
Nick
это чат про react native
Nick
@gblack9
Maxim
есть ли какой-то гайд по созданию библиотек с нативным кодом для react-native?
Evgeniy
есть ли какой-то гайд по созданию библиотек с нативным кодом для react-native?
https://facebook.github.io/react-native/docs/native-modules-ios https://facebook.github.io/react-native/docs/native-modules-android
Maxim
https://facebook.github.io/react-native/docs/native-modules-ios https://facebook.github.io/react-native/docs/native-modules-android
так это просто работа с нативными модулями, а мне нужно сделать библиотеку и потом добавить в другой проект
Maxim
это про создание
я уже это все создал, теперь мне нужно это добавить в другой проект
Evgeniy
Maxim
я нашел пакеты, например create-react-native-module, в них есть смысл?
Evgeniy
да
если уже все написанно, по тем гайдам, то нет. на андроиде вообще ничего не надо делать, просто импортнуть в mainApplication, дописать в settings.gradle и build.gradle пакет, для ios надо podspec файл написать, его можно сделать по аналогии с любым другим модулем для rn
Вадим
Докладываю по поводу cookies (куки , кукисы) Было принято решение изменять бэк...
Maxim
если уже все написанно, по тем гайдам, то нет. на андроиде вообще ничего не надо делать, просто импортнуть в mainApplication, дописать в settings.gradle и build.gradle пакет, для ios надо podspec файл написать, его можно сделать по аналогии с любым другим модулем для rn
сделал podspec и проект, в который добавил свою библиотеку, валится ld: warning: Could not find or use auto-linked library 'swiftCompatibility50' ld: warning: Could not find or use auto-linked library 'swiftCompatibilityDynamicReplacements'
Gena
есть ли какой-то гайд по созданию библиотек с нативным кодом для react-native?
Официальный гайд (уже кинули ссылку) и как шаблон, можно смотреть на свежие либы из github.com/react-native-community
ArtsyomK
По кукисам! Зачем их вообще на клиенте трогать? Их устанавливает api сервер и читает он же, клиенту про них знать не обязательно вообще, они просто в него сохраняются, нигде из клиентского кода их трогать не нужно
ArtsyomK
я на андроид не тестировал, но на ios у меня все работает таким образом
ArtsyomK
и на react-native-web тоже
Вадим
я на андроид не тестировал, но на ios у меня все работает таким образом
Как их посмотреть? Как удалить текущую сессию? Этого реально не хватает
ArtsyomK
сервер удаляет
ArtsyomK
это работа api сервера
ArtsyomK
а не клиента
ArtsyomK
клиент обращается к серверу, а сервер удаляет
Вадим
это работа api сервера
Спасибо. В этом есть логика. Но как тестировать? Как почистить куки?