
Murad
05.04.2017
13:18:38
кстати, в тему об fetch и необходимости более тонкой подстройки
обнаружил что xmlhttprequest имплементирован в react-native, и прямо в доке указывается что мы можем юзать сторонние либы
https://facebook.github.io/react-native/docs/network.html#using-other-networking-libraries

Mars
05.04.2017
13:22:03
Вот эта реализация - https://github.com/github/fetch

hlomzik
05.04.2017
13:28:03

Google

Mars
05.04.2017
13:28:37

Serhii
05.04.2017
13:33:22
ребята, привет, никто не сталкивался с проблемой, что одни и те же иконки отображаются по-разному?

Кирилл
05.04.2017
13:35:24

Serhii
05.04.2017
13:36:40
секунду, покажу скрин
я уже психанул и тестирую
если посмотреть на левую иконку, то она то четкая, то нет
используется один и тот же компонент
код вот
<Image source={require('../../../images/icons/ic_menu.png')} />
захардкодил через require, раньше импортил через константу типа
export const IC_MENU = require('../../images/icons/ic_menu@3x.png');
подумал, может не успевает прокинуться
но, как видно, не в этом причина

Google

Алексей
05.04.2017
13:39:16
поди размер картинки неправильно подобран, в пиксели не попадает. с свг такая же проблема есть

Serhii
05.04.2017
13:39:56
вот другая иконка

Farrux
05.04.2017
13:40:05
если вы тестируете в эмуляторе, может из-за scale

Кирилл
05.04.2017
13:40:21
делай лучше иконки в шрифт через свг
хотя тут тоже артифакты вылезают

Serhii
05.04.2017
13:41:07
scale всегда 2
я в инспекторе уже все облазил, они абсолютно ничем не отличаются
сейчас буду чистить xcodeProj сам, может там как-то хреново

Farrux
05.04.2017
13:44:44
когда линии очень тонкие, scale будет больше влиять. Может скриншоты тоже после scale сделаны

Кирилл
05.04.2017
13:53:57

Serhii
05.04.2017
13:57:33
не явно
просто подключаю иконку
она во всех этих хедерах одного размера, смотрел через инспектор
удаление derived data не помогло

Play
05.04.2017
14:17:36
Оказалось, что RN библиотека react-native-sound не подживает метод prepareToPlay() iOS фреймворка AVFoundation (AVAudio Player), от того и лаги в моем музыкальном генераторе. Поэтому переписываю приложение на Swift. Может кто знает как на swift переписать функцию обратного вызова: this.state.groups.forEach(p => p.group.play(() => this.playSound()))
static func playSound1() {
let r = Int(arc4random_uniform(12))
ViewController.loop((ViewController.Group[r]))
ViewController.playSound1()
}
Так написал, но она сразу вызвается) и бесконечная рекурсия ломает приложение)))

Denis
05.04.2017
14:30:42
Вечная рекурсия, а ты что ожидал?

Google

Play
05.04.2017
14:35:08
Логично же
так я вчера понял что такое рекурсия))) занятно

Arthur
05.04.2017
14:35:14
чем переписывать на свифт

Play
05.04.2017
14:36:40

Arthur
05.04.2017
14:37:53
зачем бриджи когда уже все есть, вот здесь добавь что нужно и в путь
https://github.com/zmxv/react-native-sound/blob/master/RNSound/RNSound.m
опять же вместо работы напрямую с AVAudioPlayer поменять на кэширующую обертку в этом же исходнике
например к https://github.com/StreetVoice/HysteriaPlayer

Play
05.04.2017
14:43:59

Arthur
05.04.2017
14:44:47
а так рубить с плеча и на свифт уходить нехорошо )
к тем более там исходник то на 200 строчек

Play
05.04.2017
14:49:24

Denis
05.04.2017
18:04:22
А кто-нибудь пробовал использовать http://router5.github.io/docs/why-router5.html в RN-приложения?

Vladimir
05.04.2017
18:46:25
А зачем в RN роутер?

Vladimir
05.04.2017
18:46:58
Потому что с роутером всё становится лучше

Vladimir
05.04.2017
18:47:20
Обычно наоборот
Особенно если он не нужен

Denis
05.04.2017
19:03:38
А если нужен?
Роуты всегда есть
Сцен может не быть, а роуты есть

Vladimir
05.04.2017
19:07:54
Роутер нужен только когда есть url
Когда его нет - то зачем?

Denis
05.04.2017
19:08:06
Да камон

Google

Vladimir
05.04.2017
19:08:28
Да серьезно

Denis
05.04.2017
19:08:57
Да прикалываешься - инфа 100% :) Роутер как карта местности, как карта состояний

Vladimir
05.04.2017
19:09:15
Ну и используй для этого состояние в виде объекта
Делов то

Denis
05.04.2017
19:09:20
Роутер это про URI

Vladimir
05.04.2017
19:09:30
Именно

Denis
05.04.2017
19:09:30
URI != URL

Egor
05.04.2017
19:09:37
чет толсто

Vladimir
05.04.2017
19:10:34
Роутер не решает никаких проблем, если URL/URI никто не видит и его нельзя изменять руками

Denis
05.04.2017
19:10:36
А чё, кто то большие приложения без роутера делает?
Роутер не про смену руками, а про адрес сцены + состояния

Vladimir
05.04.2017
19:11:03
Мобильные приложения делают без роутера, очевидно

Denis
05.04.2017
19:11:17
Да ну

Vladimir
05.04.2017
19:11:35
Ага
Ну просто - зачем?
В нативных приложениях роутер вообще бесполезен
Когда используется нативная навигация
В вебе роутер про то, чтобы синхронизировать состояние приложения с видимым URL
Соответственно, когда его нет - снихронизировать не с чем

Mars
05.04.2017
19:53:06
Состояние приложения в вэбе представлено через URI. А состояние в нативном приложении как то иначе, но оно все равно там есть. И нужно уметь переходить из одного состояния в другое. Для этого используют навигаторы/роутеры

Google

Джон
05.04.2017
19:54:28

Mars
05.04.2017
19:54:33
В приложениях есть линки, которые как раз передают состояние в себе, кстати. Так что состояние есть и синхронизировать его надо

Denis
05.04.2017
19:55:39
Роуты в мобильных приложениях могут быть полезны на этапе портирования web => mobile => web, как минимум.

Mars
05.04.2017
19:56:41
Категоричность оппонента слега удивляет )

Vladimir
05.04.2017
20:02:52
А как он вообще должен работать в РН? там разве есть hashchange?
Я вот соглашусь с Владимиром. Если не нужно синхронизироваться с history, то роутер особенно не нужен
А если не нужны анимации, то и либы для навигации излишни - достаточно стека роутов в стейте и пары простейших функций для работы с ними

Vladimir
05.04.2017
20:19:54
В вебе урл это как бы кастрированный стейт
Опять же, нативная навигация с внешним стейтом работает так себе

Arthur
05.04.2017
20:21:43

Vladimir
05.04.2017
20:22:13
Ой, да ну