@reactnative_ru

Страница 794 из 878
Gena
27.08.2018
06:13:54
Народ как тестируете в rn, что используете? Есть задача покрыть код unit и итеграционными тестами под обе платформы
При такой постановке эта задача может быть очень сложной. Как-то (проект был серверный и не на JS, но код - всегда код) у меня на внедрение тестов в большой проект ушло больше 2 лет, естественно всё это делалось без отрыва от основной разработки, а пользу это начало приносить только через пол года... Мы сейчас тестируем. У нас есть следующие виды тестов: 1. Юнит-тесты слоя логики и модели, их больше всего... ничего специального для RN... собственно в этом слое реакта и натива нет... прослойка сети мокается, для тестов самой прослойки - https://github.com/vovkasm/mock-websocket 2. Функциональные тесты высокоуровневой логики... там есть RN, но нет компонентов... таких тестов сейчас 2 или 3 проверяется корректность начальной загрузки приложения... они длинные и непонятные, куча моков 3. Есть несколько снапшот-тестов компонентов Всё... как делать нормальное UI-тестирование я так и не знаю. Используем jest, потому что это единственное, что нормально мокает RN.

Who is?
27.08.2018
06:18:54
Спасибо большое! Особенно за mock-websocket и appium, я думаю это что мне пригодится, буду туда смотреть. В приложении есть сложные анимированные компоненты, работающие от фазы луны, есть у кого опыт такого извращения?

Google
Nikita
27.08.2018
06:20:19
Товарищи, подскажите, для чего нужна блютус нотификация?

Никита
27.08.2018
06:24:01
Товарищи, подскажите, для чего нужна блютус нотификация?
совсем не в курсе темы, но может для умной техники? типо "чайник закипел"

Nikita
27.08.2018
07:04:17
Йеп, я слепой, не увидел мелькую подпись полупрозрачного цвета в доках

Play
27.08.2018
08:58:03
Скрин сверху
это: https://youtu.be/Iw8tKp0ALkA и после это: https://youtu.be/IHThgXE5U1c

あなたの神
27.08.2018
10:33:30
Пипл, можно как-то без костылей сделать два Drawer’a на одном скрине? React navigation

あなたの神
27.08.2018
10:36:58
Play
27.08.2018
10:37:35
Да
С кастомным хедером какие сложности могут быть?

あなたの神
27.08.2018
10:38:16
С кастомным хедером какие сложности могут быть?
Та думаю сложностей никаких не должно быть с хедером. Там просто две кнопки, одна открывает левый, а другая правый

Play
27.08.2018
10:39:20
あなたの神
27.08.2018
10:40:59
Так все просто должно быть. Вот пример: https://github.com/react-native-village/SimpleDrawer
дак у тебя один Drawer там. А у меня их два, сча код сэмп кину

Play
27.08.2018
10:41:47
дак у тебя один Drawer там. А у меня их два, сча код сэмп кину
Так для второй кнопки сделайте тоже самое.

あなたの神
27.08.2018
10:42:52
Google
Andrei
27.08.2018
11:01:52
это: https://youtu.be/Iw8tKp0ALkA и после это: https://youtu.be/IHThgXE5U1c

Play
27.08.2018
11:19:58
У меня нету appName в app.json
Это не важно, у Экспо много чего нет. AppRegistry главное правильно пропишите или пришлите код.

Катерина
27.08.2018
11:52:55
Ребята, привет. Можете дать ссылку на какое-нибудь небольшое, но очень красивое приложение на реакт нейтиве на гитхабе? Может кто-нибудь из вас хочет похвастаться? Мне для примера

Vetka
27.08.2018
11:53:45
Всем привет! Такая проблема: при логине токены записываю в AsyncStorage, потом при разлогине их запрашиваю, чтобы отправить X-Auth-Token в headers, при первом запросе получаю ошибку, что не авторизована, хотя в заголовок токен подставляется, при втором запросе все проходит ок. Как это исправить?

Так записываю в сторэдж export const setItem = (key, value) => async () => { try { await AsyncStorage.setItem(key, JSON.stringify(value)) } catch(error) { console.log(error.message) } } Так получаю из сторэджа export const getItem = async () => { try { const item = await AsyncStorage.getItem('accessTokens') return JSON.parse(item) } catch(error) { console.log(error.message) } }

И так формирую хедеры const headers = { 'Accept': 'application/json', 'Content-Type': 'application/json', 'Authorization': auth, } const getToken = async () => { return await getItem('accessTokens') } export const getHeaders = () => { getToken().then(res => Object.assign(headers, {'X-Auth-Token': res.access_token})) return headers }

Vetka
27.08.2018
12:01:40
getHeaders не должен быть асинком?
export const logout = () => ({ type: actionTypes.LOGOUT, payload: { request: { url: API.logoutUrl(), method: 'get', headers: API.getHeaders() }, options: { onSuccess({dispatch, response}) { API.handleSuccess(response, dispatch, actionTypes.LOGOUT_SUCCESS, actionTypes.LOGOUT_FAIL) }, onError({dispatch, error}) { API.handleError(dispatch, actionTypes.LOGOUT_FAIL, error) }, }, } }) если сделать getHeaders асинком, то будет промис возвращаться. Или как именно нужно модифицировать?

Катерина
27.08.2018
12:02:12
https://github.com/react-native-village/react-native-init там снизу есть
Там ссылки на них, но нет исходников

Vetka
27.08.2018
12:10:24
redux-logger выдает, что в заголовке токен уходит

Ivan
27.08.2018
12:11:55
может он ссылается на измененный объект?

лучше сначала обновить хедеры, а потом уже запрос слать с измененными

Denis
27.08.2018
12:15:36
посоветуйте пожалуйста маску для textinput (RN)

Google
Vetka
27.08.2018
12:17:29
лучше сначала обновить хедеры, а потом уже запрос слать с измененными
ок, а можешь посоветовать, где и в какой момент это лучше делать? прежде чем кинуть экшн на логаут в редакс кидать отдельный экшн на проверку и формирование хедеров (и если к примеру истекли токены, то их обновлять) или как-то иначе все это реализовывать?

Ivan
27.08.2018
12:24:26
это уж зависит от логики жизни хедеров

можно токены хранить в сторе, чтоб при изменениях что-то делать, но тут опять может что-то с асинхронностью вылезти

Dmitry
27.08.2018
12:29:11
Кто еще помнить про проблему рендера картинок внутри FlatList. Проблема решена перенос картинок в assets и загрузкой их через линки <Image source={{ uri: 'iconnName' }} />

Катерина
27.08.2018
12:43:11
morda
27.08.2018
12:44:50
вот это посмотри https://github.com/fangwei716/30-days-of-react-native

это не пример приложения а пример того че делать можно вообще

такой беглый)

John
27.08.2018
12:53:47
Подскажите как выключить в RN поддержку split view/screen?

✡️Хаски
27.08.2018
12:56:51


Как называеться компонент что с текстом "вы офлайн"

✡️Хаски
27.08.2018
12:57:23
?

Vladimir
27.08.2018
12:58:29
не уверен, что есть такой компонент. Напишите сами) NetInfo в помощь

Dmitry
27.08.2018
12:59:29
https://wix.github.io/react-native-ui-lib/docs/ConnectionStatusBar/

John
27.08.2018
13:18:39
Stas
27.08.2018
13:57:44
Привет, можно ли заставить кнопку download в <audio/> работать?



Google
Play
27.08.2018
14:08:48
Stas
27.08.2018
14:13:46
какую либу для аудио юзаем?
это webview и <audio> html5 тег.

Stepan
27.08.2018
14:15:02
а у тебя webview, в нем аудио, и не скачивается?

Stas
27.08.2018
14:17:38
ага

Artem
27.08.2018
14:41:57
Привет! Ребят, может кто подскажет - у нас приложение android с react native navigation. Прикрутили One Signal для работы с пушами, но когда приложение открыто или в бекграунде клик на пуш все равно перезапускает приложение. Вот я не пойму это мы one signal недонастроили или rnn или это вообще баг какой.

Admin
ERROR: S client not available

Artem
27.08.2018
14:57:38
А у тебя второй RNN или первый? И какая либа для обработки пушей?

Dmitry
27.08.2018
14:58:19
Либа - react-native-push-notification-ce

Efim
27.08.2018
15:04:32
А что если нужно просто открывать вебвью с определенным сайтом и слать пуши, RN лучшее решение для этого?

Gena
27.08.2018
15:24:32
Кто еще помнить про проблему рендера картинок внутри FlatList. Проблема решена перенос картинок в assets и загрузкой их через линки <Image source={{ uri: 'iconnName' }} />
Круто! А напомните, изначально картинки внешние были (по сети загружались) или через require включались локальные? И если это второй вариант, то не докопались ли до сути, т.е. почему именно проблема была?

Dmitry
27.08.2018
15:52:04
Круто! А напомните, изначально картинки внешние были (по сети загружались) или через require включались локальные? И если это второй вариант, то не докопались ли до сути, т.е. почему именно проблема была?
Картинки лежали локальному в корне проекта, подключались через require. Сильно не копался, но пробовал разные варианты загрузки ресурсов. Так как в require нельзя передавать переменные, то был объект { 1: require("./1.png"), ... } по котором пробегался FlatList и создавал итемы <Image source={icons[key]} />. Причём баг скролла только при первом открытии. Дальше, была попытка предзагрузить ресурсы картинок на старте приложения, что в целом ускоряло оживление скролла, но замедляло старт приложения на 2 секунды, блокировался причём на сплэшскрине. Дальше были попытки использовать не FlatList, но я так и не получил нужного результата. По всей видимости require блокирует тред. Именно поэтому лочится скролл. И вообще вся эта кривота

Dmitry
27.08.2018
15:55:44
Хм... спасибо за подробное описание, я это запомню:-)
В итоге я добавили картинки в ассеты проекта, и через source={{ uri: имяресурса }} и все залетало как надо

Artem
27.08.2018
17:26:23
Либа - react-native-push-notification-ce
А у тебя в манифесте android:launchMode какой?

Просто в доке one signal singleTop стоит, но мне нужного поведения удалось добиться с singleTask

Vitaly
27.08.2018
17:34:20
Ребята, привет! Подскажите, плиз, как получить текущую валюту пользователя? Я могу получить список товаров для пользователя и оттуда дернуть, но может есть какой-то конкретный метод.

Dmitry
27.08.2018
17:37:19
А у тебя в манифесте android:launchMode какой?
А я не собирал по Андройд,, извиняй

Кто чем пользуется для дебага ? Пробовал отдельный дебаггер, как приложение, но он жутко тормозной и вешается после длительной работы

Google
Dmitry
27.08.2018
18:26:37
дебаггер в хроме тоже оставляет желать лучшего

Dmitry
27.08.2018
18:42:26
React native debugger? А в чем его тормознутость проявляется у тебя?
ну он ничанает жрать ~4Gb памяти, и на каждый ребилд зависает на несколько секунд прежде чем с ним можно чтото сделать

Artem
27.08.2018
18:44:23
Странно, у меня стабильно меньше гига ест даже после нескольких часов работы без перезапуска

Artem
27.08.2018
19:06:41
И еще есть такой костыль для RNN https://github.com/wix/react-native-notifications/wiki/Android:-working-with-RNN
Не, это какие-то костыли первой версии. У нас вторая и проблемы с тем, что приложение открывается при ресиве пуша нет, а вот при клике на пуш происходит переоткрытие приложения.

И еще есть такой костыль для RNN https://github.com/wix/react-native-notifications/wiki/Android:-working-with-RNN
Ну кстати "Why was this needed?" немного проясняет ситуацию, спасибо

Alexander
27.08.2018
19:17:50
Не, это какие-то костыли первой версии. У нас вторая и проблемы с тем, что приложение открывается при ресиве пуша нет, а вот при клике на пуш происходит переоткрытие приложения.
Вроде для второй такокие же проблемы есть. Вторую давно используете? Можно на нее переезжать? Все поддерживает от первой?

Artem
27.08.2018
19:23:50
Вроде для второй такокие же проблемы есть. Вторую давно используете? Можно на нее переезжать? Все поддерживает от первой?
Пару месяцев, переезжать можно, но поддерживает не все еще, особенно под андроид, но мы не используем ничего из этого

https://github.com/wix/react-native-navigation/tree/v2#react-native-navigation-v2-wip внизу табличка

Andrei
27.08.2018
21:04:06
Всем спасибо за помощь вчера Теперь другой вопрос: при входе в свой аккаунт, пользователь вводит свой никнейм, потом отправляется запрос на сервер с проверкой, сервер проверяет это всё с базой данных и отправляет запрос назад. Теперь вопрос вот в чём: если имя пользователя правильное, то оно должно сохраняться в стор редукса. Если что, стор находится в другом файле. Проблема ещё заключается в том, что я не знаю, что надо использовать: store.dispatch или mapdispatchtoprops и как правильно соединить с коннектом?

если что, то вот это всё с проверкой уже тоже реализовано

Страница 794 из 878