
Алексей
04.09.2017
09:26:09

Ilya
04.09.2017
09:26:09
мне systrace очень сложным показался
когда фетчишь чат

Алексей
04.09.2017
09:26:29
перед записью в стор?

Google

Ilya
04.09.2017
09:26:30
приходит большой джсон
да

Arthur
04.09.2017
09:27:08

Алексей
04.09.2017
09:27:08
может разделить как то на части и в setImmediate засунуть каждую часть
чтобы ui не фризить

Ilya
04.09.2017
09:27:47
Я даже не знал такой функции
а почему уи фризится то, я думал там 2 потока, джс и уи отдельно

Алексей
04.09.2017
09:28:12
так у тебя не фризится же, а лаги, так?

Ilya
04.09.2017
09:28:57
ну вот если джс тред падает до -2 или 0 то уи фризится
ну вот именно фризится, а потом несколько секунд подлагивает
когда табы щелкаешь

Google

Алексей
04.09.2017
09:29:35
фризится так что scrollview даже не скролится?;)
не, когда ты табы тыкаешь, идет ивент в js, а он в это время занят

Ilya
04.09.2017
09:30:24
еще кстати после этого когда ListView скроллишь он как-будто подгружает сообщения, хотя я там не делал подгрузки и весь массив сообщений в сторе уже в это время
скролл листается

Алексей
04.09.2017
09:32:34
у тебя js стоит

Ilya
04.09.2017
09:32:52
да
-2 показывает

Алексей
04.09.2017
09:33:02
тебе надо нормализацию разделить на чанки
и каждый чанк в setImmediate

Ilya
04.09.2017
09:33:22

Алексей
04.09.2017
09:33:24
можно промисами тоже самое сделать

Ilya
04.09.2017
09:33:43
а как я её разделю?

Алексей
04.09.2017
09:33:48
(это конечно если не хочешь воркеры)
только не так
гист

Ilya
04.09.2017
09:34:16
почеиу

Google

Ilya
04.09.2017
09:34:24
ща
https://gist.github.com/xahon/b9121ca07756260890c24afe201eb7da
там не весь код, а только получение чата и нормализация

Алексей
04.09.2017
09:39:40

Ilya
04.09.2017
09:39:57
без него было еще хуже
получается каша

Алексей
04.09.2017
09:41:55
добавь пример json-а и какой результат из него получается плиз
только небольшой)

Andrey
04.09.2017
09:46:43
ребят, кто юзает react native router flux, кто-нибудь делал кнопку, которая обновляет экран? То есть просто принудительно взять по нажатию кнопки и перерендерить то, что открыто?

Алексей
04.09.2017
09:47:30

Andrey
04.09.2017
09:48:40

Sergey
04.09.2017
09:49:31
Actions.refresh() - Reloads the current scene by loading new props into the Scene
https://github.com/aksonov/react-native-router-flux/blob/master/docs/API.md

Ilya
04.09.2017
09:51:06

Andrey
04.09.2017
09:52:06
спасибо!

Алексей
04.09.2017
10:08:13

Ilya
04.09.2017
10:13:58
если все в промисы обернуть, то будет в отдельном потоке каждый работать?

Алексей
04.09.2017
10:16:45
либо как вариант переписать все с requestAnimationFrame

Google

Ilya
04.09.2017
10:20:44
про requestAnimationFrame читал только один раз и так не понял для чего, думал для анимации и забил. Тут есть интересный момент
InteractionManager.runAfterInteractions(() => {
// ...long-running synchronous task...
});Ты его пробовал использовать?

Алексей
04.09.2017
10:23:19

Ilya
04.09.2017
10:26:06
а как через rAF делать? Каждую такую тяжелую функцию в await requestAnimationFrame(longExecutingFunction)?
или в реактовском компоненте где точка вызова вот этого фетча и там обернуть её в rAF

Алексей
04.09.2017
10:29:23
нужно в том гисте что я скинул все вызовы промисов переделать на rAF. await работает только с промисами, поэтому они проще

Ilya
04.09.2017
10:44:24
@savelichalex а есть какая-нибудь разница по производительности promise vs rAF?

Алексей
04.09.2017
10:44:51

Ilya
04.09.2017
11:06:08
Ладно, спасибо, буду разбираться

Mikhail
04.09.2017
11:52:19
Привет, что посоветуете для работы с FCM (https://firebase.google.com/docs/cloud-messaging/) ??

Alexander
04.09.2017
12:12:52

Mikhail
04.09.2017
12:15:29

morda
04.09.2017
12:31:28
react-native-fcm
че гадать-то)

Daniel
04.09.2017
13:19:23
Всем привет! Подскажите плз по реакт гавигейшн, есть ли какой-то коллбек на back экшн (когда нажимаешь дефолтную кнопку назад, которую рендерит сам навигатор)? Спасибо)
*навигейшн

Egor
04.09.2017
13:19:51
Почему может быть нехорошо писать:
onPress={this._onTabPress.bind(this)}

Daniel
04.09.2017
13:21:06
Потому что инициализируется функция еще раз

Egor
04.09.2017
13:22:43
то есть если это в коде элемента списка, то будет много раз продублировано?

Кирилл
04.09.2017
13:26:18

Google

Egor
04.09.2017
13:26:45
о, аргумент
спасибо
а то мне ESLint ругнулся, а я и не в курсе подоплеки...

Andrey
04.09.2017
13:31:54

Alexander
04.09.2017
13:32:15
onPress={_ => this.onTabPress()}
?

Egor
04.09.2017
13:32:48
ну если не обойтись без bind
то в конструкторе забиндить

Кирилл
04.09.2017
13:32:54
нет, надо ссылаться всегда на одну функцию

Egor
04.09.2017
13:32:57
а там уже нормально
onPress={this._onTabPress}

Кирилл
04.09.2017
13:33:58
стрелочной функцией просто контекст сохраняешь и се

Egor
04.09.2017
13:36:20
хм... но тогда bind выглядит вообще бесполезной вещью, а у меня тут кое-где да используется. надо вспоминать почему да зачем...
были какие-то причины значит

Алексей
04.09.2017
13:36:58

Кирилл
04.09.2017
13:37:23

Egor
04.09.2017
13:37:34
вот у меня есть компонент сейчас
у него в props есть onTap
а в рендере у меня написано
<TouchableHighlight
key={index}
onPress={onTap.bind(this, goal)}
ладно