@reactnative_ru

Страница 614 из 878
Dmitrii
16.04.2018
19:42:01
в чем заключается сакральный смысл брать экзайос когда поддерживается феч?
прогресс, отмена запросов, вкусные фичи типо интерсепторов и множественные инстансы из коробки, да в конце концов отображение запросов во вкладке XHR chrome вместо гребанного Other

Cenator
16.04.2018
19:42:12
эм

jslby
16.04.2018
19:42:33
давно пора

Google
Dmitrii
16.04.2018
19:43:50
непонял что это, я про это:

Cenator
16.04.2018
19:44:50
это какая из версий хрома, вышедших в 1997 году? я скинул скрин, у меня и те и те в одной вкладке

Dmitrii
16.04.2018
19:45:12
Version 65.0.3325.181 (Official Build) (64-bit)

Cenator
16.04.2018
19:46:26
сочувствую, но помочь не могу

Dmitrii
16.04.2018
19:47:15
спасибо за сочувствие, я всегда знал люди в этом чате очень добрые и чуткие

Sergei
17.04.2018
06:03:47
вап

Igor
17.04.2018
07:57:49
Как можно при старте RN выставить набор глобальных констант из натива? Что бы не писать потом методы их запросов в нативных модулях (и не обрабатывать результат в колбеках/промисах).

morda
17.04.2018
07:59:46
На вход первому компоненту можно пропсы передать при старте

Igor
17.04.2018
08:04:52
Из java?

morda
17.04.2018
08:26:54
Из натива да

Stepan
17.04.2018
09:04:36
ребят, у кого были проблемы с андроидом и axios? как фиксили? Error: Network Error

Elvera
17.04.2018
09:09:02
андроид 4?

Google
Stepan
17.04.2018
09:09:14
5+

Denis
17.04.2018
09:09:42
К чему обращаешься? На локалке апи?

Или удаленное?

Роман
17.04.2018
09:10:28
у меня Error: Network Error был когда не правильно составил запрос проверьте вы точно составили запрос как в доке описано

Stepan
17.04.2018
09:10:47
удаленно, на ios все норм работает, а вот с андроидом какой то трабл

Роман
17.04.2018
09:16:36
Add the below code under "NSAppTransportSecurity" NSAppTransportSecurity

eeeman
17.04.2018
09:39:55
привет всем, подскажите почему во flatlist очень долго реагируют TouchableOpacity элементы? То есть я прокрутил на сотый элемент свой список, жму на TouchableOpacity и он срабатывает только через пару секунд, либо вообще не срабатывает

и иногда выдается - VirtualizedList: You have a large list that is slow to update - make sure your renderItem function renders components that follow React performance best practices like PureComponent, shouldComponentUpdate, etc.

как можно оптимизировать список?

Ivan
17.04.2018
09:43:06
extraData?

eeeman
17.04.2018
09:43:41
в data массив с объектами

Алексей
17.04.2018
09:46:04
вакансии запрещены правилами

eeeman
17.04.2018
09:47:01
даже если элементов 20 прокручу уже такие тормоза наблюдаются

неужели никто не вкладывал во флатлист список из TouchableOpacity элементов?

Ivan
17.04.2018
09:49:48
Тач записывается в стейт?

Юрий
17.04.2018
09:49:49
о! А как тогда тут ищут програмистов в команду?

Cenator
17.04.2018
09:50:33
Ivan
17.04.2018
09:50:41
extraData={this.state} для тача, дополнительно к data

eeeman
17.04.2018
09:50:46
Тач записывается в стейт?
всё гораздо проще, в стейт ничего не пишет, есть просто флат лист и массив с тысячей элементов, каждый элемент это просто TouchableOpacity

extraData={this.state} для тача, дополнительно к data
по подробнее подскажите? для чего это и что там должно быть?

Google
Ivan
17.04.2018
09:54:05
ФлетЛист оптимизирован типа от перерендера и обновляется когда приходит новый data или extraData, в первом список, во втором дополнительные параметры

eeeman
17.04.2018
09:54:47
то есть мне туда нужно тупо позицию скролла или тача присваивать для дополнительного перерендера?

Ivan
17.04.2018
09:56:07
Не, это ответ на долгую реакцию на клик, туда можно флаг нажатого элемента отправлять

eeeman
17.04.2018
09:58:11
вообще не понял как эт освязано, флаг туда отправится только после обработки onPress элемента, а онпресс срабатывает через пару секунд только

Ivan
17.04.2018
09:58:22
А для тысячи элементов.. я бы как-то разделил их на несколько частей, но возможно, на реальном девайсе тормозить не будет

eeeman
17.04.2018
09:58:34
я на реальном и тестирую

Ivan
17.04.2018
09:59:09
Тогда делить как-то

eeeman
17.04.2018
09:59:30
Тогда делить как-то
Немного локализую проблему - у меня есть флатлист, который получает массив с нным кол-вом объектов, каждый элемент массива я вывожу просто TouchableOpacity с onPress методов который просто консолит текст и всё, тестирую на реальном девайсе htc one e8. При таком раскладе, когда я прокручу немного список и нажму на элемент, онпресс у меня срабатывает через пару секунд только, а если я прокручу и подожду пару секунд, а потом нажму, то онпресс сразу срабатывает

и мне выдается - You have a large list that is slow to update - make sure your renderItem function renders components that follow React performance best practices like PureComponent, shouldComponentUpdate, etc.

как оптимизировать и устранить выдачу этой ошибки?

Sergey
17.04.2018
10:09:54
попробуй на чем нибудь помощнее

Sergey
17.04.2018
10:10:21
?
sad story, bro

eeeman
17.04.2018
10:10:28
да и пользователи пусть для приложения помощнее возьмут девайсы

eeeman
17.04.2018
10:35:42
попрофилируй и посмотри что у тебя тормоза вызывает. вполне вероятно компоненты лишние апдейтишь
какие лишние компоненты?) я же писал, у меня флатлист, в котором просто вставлен TouchableOpacity, без какой-либо больше логики, TouchableOpacity это просто серый квадрат и метод онПресс для того чтобы посмотреть в консоле когда напечатается слово

Google
Zae
17.04.2018
10:37:35
как вы в джесте мокаете дефолтную функцию? вот есть например у меня axios.post, axios.get, я их мокнул, а если я использую axios({ method: ‘POST’ }), например?

Admin
ERROR: S client not available

Zae
17.04.2018
10:40:59
nock
можешь дать пример кода?

morda
17.04.2018
10:41:18
https://github.com/node-nock/nock

Alexey
17.04.2018
10:44:56
с тысячей TouchableOpacity элементов норм?
не, у меня на порядок поменьше. 100-200. но ты вроде говорил, что на 30-40 тоже тормозит у тебя?

eeeman
17.04.2018
10:45:22
не, у меня на порядок поменьше. 100-200. но ты вроде говорил, что на 30-40 тоже тормозит у тебя?
ща чуть позже проверю отдельно, в другом компоненте с массивом из нескольких сотен, так сказать воспроизведу проблему и скину код

Alexey
17.04.2018
10:47:10
а на чем смотришь? ios / android?

eeeman
17.04.2018
10:47:47
Nikolay
17.04.2018
10:48:20
кто нибудь юзает sentry.io? я как понял его тоже бонусом залочили

Alexey
17.04.2018
10:48:39
а, ну тут трудно сказать ) я просто на macos и ios смотрю, андройды в том же эмуляторе заметно медленнее могут работать (у меня)

вообщем, если не осилишь, то пример приложи пожалуйста

Alexey
17.04.2018
10:49:38
так это не эмулятор, а мой телефон)
ну у меня iphone только :)) а он вполне шустрый )

eeeman
17.04.2018
10:50:48
ну у меня iphone только :)) а он вполне шустрый )
ну а пользователями приложения я тоже буду говорить - купите последние девайсы для того чтобы вы могли посмотреть список элементов в моем приложении??

Alexey
17.04.2018
10:51:18
:)

Алексей
17.04.2018
10:54:19
тут как бы в списках большой трейдоф между динамичным контентом и одинаковым, тот же ListView был изначально на динамичный контент в списках ориентирован, но на больших списках жрал много памяти, FlatList это оптимизация ListView по памяти

Google
Ivan
17.04.2018
10:59:48
возможно поможет PureComponent https://github.com/facebook/react-native/issues/13649

eeeman
17.04.2018
11:32:34
и так

воспроизвел проблему

import React, {Component} from 'react'; import { TouchableOpacity, FlatList } from 'react-native'; class Test extends Component { render() { let items = Array.apply(null, Array(1000)).map(String.prototype.valueOf,"hi"); return ( <FlatList data={items} horizontal={false} numColumns={3} keyExtractor={(game, index) => index} renderItem={(item) => { return ( <TouchableOpacity style={{ width: 100, height: 100, backgroundColor: '#777', margin: 5 }} onPress={() => null} activeOpacity={0.5} /> ) }} style={{ width: '100%', height: '100%', padding: 5 }} /> ) } } export default Test;

имеем массив с 1000 элементами - флатлист с 1000 TouchableOpacity, на видосе прекрасно видно лаги после прокрутки

Alexander
17.04.2018
11:36:24
на реальных девайсах + релизная сборка зачастую намного живее работают

eeeman
17.04.2018
11:36:55
Я конечно не настоящий сварщик, но создание списка на 1000 элементов бы за пределы render на всякий случай вытащил
это просто для воиспроизведения проблемы, настоящий массив за ренднром создается)

это приложение запущено на реальном девайсе htc one e8

Alexander
17.04.2018
11:40:10
можешь попробовать написать свой touchableOpacity

с блекДжеком и шлюхами естественно)

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