Preeternal
Или я ошибаюсь?
Murena
подскажите в React Native - в сравнении с React вместо реакт роутера - react-navigation ?
George
подскажите в React Native - в сравнении с React вместо реакт роутера - react-navigation ?
Есть несколько библиотек, начать действительно стоит с react-navigation. Еще есть react-native-navigation - более «нативная"
Roman
имхо react-navigation на данный момент лучшая
Eugene
https://www.npmjs.com/package/react-native-contacts/v/0.7.0
Наталья
подскажите в React Native - в сравнении с React вместо реакт роутера - react-navigation ?
На рабочем проекте лучше выбирать react navigation так как она легче и с ней проще что-то подстроить под желания заказчика На личных проектах лучше делать выбор в пользу react native navigation, она будет быстрее на сложных экранах приложения, в ней красивые переходы, 2-ая версия должна быть получше 1-ой @murena787
Andrii
react-navigation а если дописать свои транзашин - то переходы те которые тебе больше нужно
Anton
Привет! Кто-то сталкивался с задачей ставить пароль на вход в другие приложения. Я так понимаю что это нативная тема будет, но куда лучше копать?
Wizard
Привет, кто сталкивался с такой ошибкой при запуске андроид? (Xiaomi Redmi Note 2 - Android 5.0.2) FAILURE: Build failed with an exception. What went wrong: Execution failed for task ':app:installDebug'. > com.android.builder.testing.api.DeviceException: com.android.ddmlib.InstallException: Failed to install all
Wizard
Пробовал отключить оптимизацию MIUI, включил установку по USB, установил на вс.сл. lsusb - ничего не сработало.
Murena
Подскажите - насколько больно разрабатывать React Native/Typescript ? или норм ?) Просто хочу попробовать что то делать на React Native - и думаю может сразу взять Typescript так как раньше на нем разрабатывал на Angular. Кто на Typescript c React Native работал подскажите - там все ок ?))) не сильно прийдется заморачиватся ?
Pasha
Почти все ок
Андрій
Андрій
Здравствуйте, кто-то может подсказать по такой проблеме?
Андрій
При авто заполнении системой (в данном случае предлагает email) закрашивает TextInput желтым как на рисунке. Как можно поменять стиль этой закраски?
Андрій
Путем гугления нашел только решение для CSS, но не для RN ;(
Dr
Привет. Такой вопрос, возможно это чисто из области реакта. Но все же. У меня есть стейт, там массив общектов. При изменения какого-то свойства обхекта, надо что бы добавился background соответствующему элементу. Элемент становится активным после события onPress. Стейт меняется, все вижу в консоли, но background добавится только после второго нажатия, хотя в консоли стейт никак не изменится после второго раза !item.active ? { backgroundColor: colors.white, opacity: 0.45 } : {}
Санжар
Из обьекта передаете цвет?
Dr
colors это константа с цветами
Dr
ну я даже внутри компонента вывожу состояние и вижу что оно изменилось
Dr
при этом у меня логика такая, что когда нажимаю по одному элементу у других страсывает состояние активности. И в прилаге я вижу как сбрасываются стейты, но при этом оба элемента могут поменять цвет если на них нажмешь два раза
Philipp
Как рендерятся эти элементы? Если вы их мапите, то проверьте что key указаны и они разные для элементов
Dr
ааа, кстати, у меня нету идишников там, поэтому я их генерю сам
Dr
спецом для key
Dr
но они разные
Philipp
ааа, кстати, у меня нету идишников там, поэтому я их генерю сам
А они генерятся разные на каждом рендере?
Dr
нет, единожды при didMount'е
Philipp
но они разные
Ради теста, попробуйте в key передать index из `.map((item, index), func)
Dr
но прикол такой, что только что добавил Math.random() еще к key. И начало работать
Dr
но id разные и так
Dr
что за фигня
Dr
а это вообще законно Math.random() кидать в key?
Gena
что за фигня
Скорей всего в коде фигня... но вы его так и не пошарили, так что только вам она (фигня) видна )
Gena
а это вообще законно Math.random() кидать в key?
Этим вы эффективно при обновлениях меняете элементы - удаляете старые и создаете и маунтите новые. Законно это или нет и то ли, что вы хотите получить, только вам решать )
Dr
так а что шарить, обновление одного свойства в массиве из объектов const updatedProducts = [...props.products]; updatedProducts.forEach((item) => { item.active = false; if (item.id === product.id) { item.active = true; } }); props.setProducts(updatedProducts);
Gena
так а что шарить, обновление одного свойства в массиве из объектов const updatedProducts = [...props.products]; updatedProducts.forEach((item) => { item.active = false; if (item.id === product.id) { item.active = true; } }); props.setProducts(updatedProducts);
))) нет. весь, код, который задействован - компонент со всеми ренедерами и lifecycle, и тот код, который апдейтит стейт (если стейт - это redux, то шарить придется много, ну извините...) И лучше в gist, а не сюда )
Dr
Этим вы эффективно при обновлениях меняете элементы - удаляете старые и создаете и маунтите новые. Законно это или нет и то ли, что вы хотите получить, только вам решать )
я все равно не понимаю, у меня есть ид, все разные. Генерятся один раз. Но блок обновляет только после второго клика
Dr
или ид надо каждый раз перегенерировать? собственно как сейчас по сути и происходит из-за random()
Gena
В том, что вы сейчас прислали, у продуктов не меняется идентити. Поэтому для redux и ему подобных стейт-менеджеров (в том числе для pure компонентов в react) это неправильно.
Gena
Т.е. идентити списка меняется, а идентити каждого отдельного продукта - нет. При этом меняется внутренность (св-во `active`)
Dr
так а как тогда правильно обновить одно свойство?
Gena
Сравнить со старым значением и если поменялось, то сгенерить целиком новый объект вместо старого
Gena
В вашем коде, как-то так: for (let i=0; i<updatedProducts.length;i++) { const p = updatedProducts[i] const active = p.id === product.id if (active !== p.active) { updatedProducts[i] = { ...p, active } } });
Gena
Ну я там немного недоформатировал, но смысл должен быть понятен
Dr
блин, точно, спасибо)))
Илья
Здравствуйте
Илья
У меня такая проблема: TypeError: undefined is not an object (evaluating 'VKLogin.initialize')
Илья
Может кто-нибудь сможет помочь
Aynur
импорт есть?
Илья
Есть : import VKLogin from 'react-native-vkontakte-login';
Gena
Есть : import VKLogin from 'react-native-vkontakte-login';
С вероятностью 99% не слинкована нативная часть. Это не ваш VKLogin undefined, это вот этот: https://github.com/doomsower/react-native-vkontakte-login/blob/master/src/index.ts#L8
Petr
Ребят, кто имеет опыт редактирования нативного кода React Native? Я какую-то магию получаю. По идее же нативные модули для андроида в папке ReactAndroid npm-модуля react-native лежит. Пробую что-то там менять - вообще ничего. Я даже полностью удалил эту папку - все равно компилится под андроид. Я этого не понимаю. Она как будто ничего не делает.
Gena
Чтоб из исходников собирать, там надо в проектном gradle указать, что RN надо из исходников собирать, вместо этого jar
Petr
Точно, спасибо большое
Gena
Вот ведь... еле нашел доки... помнил же, что было... https://facebook.github.io/react-native/docs/building-from-source#building-the-source
Gena
Это про интеграцию, так чтоб оно из исходников собиралось.
Gena
Хех... https://github.com/erikpoort/react-native-wallet/issues/8#issuecomment-468961592
Murena
Подскажите , в react navigation, есть возможность сделать дропдаун меню выпадающее? Или это нужно какую-то другую библиотеку взять ?
Murena
Обычную UI имею ввиду
Murena
Подскажите - как отслеживать touch по елементу - в карусели, чтоб в момент когда пользватель хочет свайпать карусель тач (клик ивент) не срабатывал - хотелось бы как то отлавливать fast touch - но не свайп - где про это почитать ? спасибо
Murena
суть вопроса вообще в том что использую react-native-snap-carousel и хочу отлавливать клик по картинке в карусели - но не хочу чтоб срабатывал клик ивент во время свайпа/пролистывания карусели
Murena
кто то с expo подключал react-native-sound ? или что то подобное - у меня почему то не подымается хотя делаю все по инструкции - залинковал react-native link react-native-sound но все равно вываливает ошибку
Murena
Murena
потом открыл документацию по expo и увидел что там вообще свой функционал есть для работы с аудио/видео - получается если разрабатывать через expo cli - там еще какие то свои ограничения накладываются ? или определенные способы взаимодействия с нативными методами системы ? получается если разрабатывать через expo некоторые библиотеки которые добавляют нативные методы не будут корректно работать ? например у кого то получилось с expo запустить библиотеку react-native-sound ?
Ilya
Привет всем. Есть здесь программисты RN с Казахстана?
Murena
Expo не дружит с нативными модулями со стороны без eject'a
ясно) а я пол дня голову ломал что не так делаю)))
Murena
Expo не дружит с нативными модулями со стороны без eject'a
и как правильно провести eject и потом подключить модуль ? чтоб потом все работало с expo дальше ? может есть где почитать ?
Nick
а что делает eject ?
https://github.com/react-community/create-react-native-app/blob/master/EJECTING.md
Murena
спасибо!
Nick
Вообще expo вроде вынесли свои модули отдельно и ими можно пользоваться даже после eject'a https://blog.expo.io/you-can-now-use-expo-apis-in-any-react-native-app-7c3a93041331
Murena
https://github.com/react-community/create-react-native-app/blob/master/EJECTING.md
я правильно понял что процес eject вообще выгрузит expo с проекта и потом вернуть его обратно уже будет нельзя ?