@reactnative_ru

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

hlomzik
05.04.2017
13:28:03
Ага, fetch его и использует
*полифил браузерного фетча его использует

Google
Mars
05.04.2017
13:28:37
*полифил браузерного фетча его использует
Да! Спасибо ) Я это и имел виду

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

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
<Image source={require('../../../images/icons/ic_menu.png')} />
размеры иконки как задаются? если явно, для иконок надо getPixelSizeForLayoutSize использовать

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
Логично же
так я вчера понял что такое рекурсия))) занятно

Play
05.04.2017
14:36:40
а не проще было добавить этот prepareToPlay в саму либу?
Думал об этом, но не хватает опыта. Где почитать на эту тему? Это бриджы?

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

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

Play
05.04.2017
14:49:24
а так рубить с плеча и на свифт уходить нехорошо ) к тем более там исходник то на 200 строчек
Два месяца уже стою на одной задаче. Подумал что RN уже не подходит для ее решения. Рубить не буду, буду разбираться дальше.

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
Соответственно, когда его нет - снихронизировать не с чем
В вэбе состояние можно зафиксировать в url и расшарить. Поэтому видимо важна синхронизации с ним

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

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
Мобильные приложения делают без роутера, очевидно
ага, если только калькуляторы то наверно да, а так вообще вот https://github.com/button/DeepLinkKit https://github.com/joeldev/JLRoutes

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

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