
Gena
21.08.2018
17:49:47
А в качестве мыслей по скрытию клавиатуры, тут пришло в голову:
Если в RN правильно bubbling работает, то по идее можно в TouchableWithoutFeedback обернуть около-рутовый элемент, который весь экран перекрывает и его использовать для скрытия клавиатуры. Т.к. тачи он будет ловить только те, что вложенными touchable не ловятся... но я не пробовал такое делать... если bubbling не работает, то это сглючит.

Play
21.08.2018
17:51:52

Gena
21.08.2018
17:52:21

Google

Gena
21.08.2018
17:57:19
Эта ф-ция дергается по Keyboard.dismiss

Play
21.08.2018
17:59:00

Gena
21.08.2018
18:00:57
Т.е. если я правильно понял, у них сейчас в принципе нет состояний "есть активное поле с фокусом и нет клавиатуры" и "нет фокуса нигде, а клавиатура есть"... по крайней мере концептуально. Я прям не уверен, что это совсем уж правильно, но это надо в нативные SDK лезть и копаться... долго...

Play
21.08.2018
18:04:53


Gena
21.08.2018
18:16:47
Фокус в инпуте - клавиатура есть, если не в инпуте - клавиатуры нет. Было по другому?
Может и было... они там за год в этом районе много кода меняли...
Я не уверен, что вот это всегда так жестко связанные вещи (клавиатура и фокус)...
К примеру, на экране два приложения на iPad в split view и в одном нет фокуса на текстовом поле, а в другом есть и клавиатура... что с размерами первого приложения? должно оно как-то на это реагировать?
Ещё вопрос... по реализации уже... они вот трекают фокус в JS в синглтоне сейчас вот здесь: https://github.com/facebook/react-native/blob/0.56-stable/Libraries/Components/TextInput/TextInputState.js... А ничего, что теоретически можно иметь в одном приложении на одном экране два Root View с двумя разными инстансами бриджа... по сути два полных экземпляра RN (я понимаю, что это неэффективно по памяти и т.п. но возможно же... может изоляция нужна на уровне JS)... И что? Весь этот трекинг фокуса идет нафиг...

Play
21.08.2018
18:18:18

Denis
21.08.2018
18:26:12
Кто-то сталкивался с http://prntscr.com/klbztk ?

Gena
21.08.2018
18:31:50

Denis
21.08.2018
18:32:08

Gena
21.08.2018
18:32:29
Это ios или Android?

Denis
21.08.2018
18:33:08

Google

Gena
21.08.2018
18:37:14
ios
Откройте проект в Xcode, проверьте что линкинг есть (как же в xcode сложно описывать путь до настроек проекта, т.к. нет названий меню ))))
1. Ткните в проект (синяя иконка в навигаторе слева)
2. Ткните в вкладку General
3. Прокрутите вниз, там будет список библиотек (типа libReact.a, libRCTActionSheet.a и т.п.) в нем должна быть libBVLinearGradient.a или что-то типа

Denis
21.08.2018
18:37:57

Gena
21.08.2018
18:38:55
А, попробуйте перед этим сделать Clean (меню Product -> Clean)

Denis
21.08.2018
18:41:10

Play
21.08.2018
18:43:23
Есть ли возможность передать props в StyleSheet ?

Gena
21.08.2018
18:43:24
Ух ты! Первый мой респект facebook'у... они за 24 часа смержили пулл реквест в react-native-fbsdk - неожиданно https://github.com/facebook/react-native-fbsdk/pull/390
Вот бы они так же быстро в RN реагировали...

Play
21.08.2018
18:44:48

Gena
21.08.2018
18:45:33

Play
21.08.2018
18:46:30
вчера увидел, как функцию передать можно:
textStyle: {
color: '#fff',
fontSize: 28,
width: w - 40,
fontFamily: 'AvenirNext-DemiBold',
...ifIphoneX({
paddingTop: 75
}, {
paddingTop: 50
})
},

Gena
21.08.2018
18:47:39
Весь этот код выполняется до StyleSheet.create

Denis
21.08.2018
18:49:02
Gena ты бог, на счет того что посоветовал через xcode запустить

Gena
21.08.2018
18:49:44
Есть ли возможность передать props в StyleSheet ?
И я таки понял вопрос... сорри, сразу не сообразил... нет, нельзя... StyleSheet - должен быть глобальным объектом. Если надо туда пропсы передавать, то его надо конструировать внутри render... но это жутко медленно будет

Play
21.08.2018
18:50:20

Denis
21.08.2018
18:50:27

Алексей
21.08.2018
19:05:08

Google

Gena
21.08.2018
19:45:58
да эт вообще какие то рекордные сроки для опенсорса)
Ага... но я рад, что не форканул его с концами, как react-native-vkontakte-login, осталось дождаться релиза в npm и можно переключаться с установки с git, обратно.
А вот react-native-share таки придется форкануть (((
Потому что там такое г. в коде, что я пожалел, что вообще это в проект допустил... притом большая часть его кода нам не нужна...

SilencerWeb
22.08.2018
02:56:24

Anastasia
22.08.2018
04:30:57
https://facebook.github.io/react-native/docs/actionsheetios

SilencerWeb
22.08.2018
04:38:41

Nikita
22.08.2018
05:00:38
react-native-maps. Карта прогружается нормально на всех апи, кроме 23. То есть, не грузится совсем. Видно только лого гугла, и все. Уже пробовал: менять версию апи ключа, градла, делать релизную сборку. Суть одна: карта работает на всех ведройдах, кроме шестого. Причём, какими-то магическими тыками по приложению всё-таки можно случайно заставить что-то загрузиться. Но все равно работает некорректно. Есть идеи или опыт?

Eugene
22.08.2018
05:32:59

Nikita
22.08.2018
05:40:16

✡️Хаски
22.08.2018
11:03:38
Сравниваем то что выбрано в пикере и что выернул IOSPicker при onChange
Что это за магическая дата 24-25 Сентября 1989

Ilshat
22.08.2018
11:05:25

Ivan
22.08.2018
11:06:11
там часы ведь указаны, 20+3=23, 21+3=24=00 след дня

✡️Хаски
22.08.2018
11:07:54

Denis
22.08.2018
12:21:20
Ребята, а кто может подсказать как правильно работать с размерами элементов/шрифтов в RN, а то я постоянно смотрю в эмуляторе iphone 8 и решил открыть iphone SE и присел

Alexander
22.08.2018
12:39:21
а кто пилил очередь http запросов для своих react-native приложений?
@savelichalex поделитесь опытом

Gena
22.08.2018
12:51:28
Я заметил , почему в пикере выбрано 24, а результат 23 ?
Потому что пикер вернул вам объект Date с датой, а не выбранные значения по раздельности. Этот объект сериализуется, как описано... ммм... в коде JSC той версии, которая у вас работает. Как видно из примера, это совпадает с https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toString
С датами в JS вообще много проблем... основная, на которую я постоянно напарываюсь - отсутствие интерфейса к текущей таймзоне... в смысле движок JS её знает и правильно с ней работает, а задать её извне и управлять ей на уровне JS вы не можете (
Мы если что... сейчас с датами только через moment в модели работаем... соотвественно все расчеты/сериализация через него...

✡️Хаски
22.08.2018
12:57:00

Gena
22.08.2018
13:04:40
Решил проблему установкой timeZoneOffsetInMinutes={0}
Скорей всего нет. Потому что теперь ваши пользователи выбирают Date в Гринвиче. То, что вы сделали решает проблему, только если вы из возвращенного объекта достанете компоненты и будете отдельно использовать, а про сам Date забудете...

Google


Gena
22.08.2018
13:13:19
Ребята, а кто может подсказать как правильно работать с размерами элементов/шрифтов в RN, а то я постоянно смотрю в эмуляторе iphone 8 и решил открыть iphone SE и присел
Тут нет правильного решения... тут есть много решений разной степени паршивости... и это общая проблема и для веб и для мобилок, независимо от использования RN.
Надеюсь остальные тоже поделятся своими решениями.
Мы так делаем:
1. Считаем на старте приложения константу, которая домножается на все размеры (константа считается так, чтоб в небольших пределах компенсировать недостаток площади на мелких экранах, т.е. там она меньше 1, для больших экрананов она чуть больше 1 чтоб совсем уж много пустоты не образовывалось... 1 - это эталонный экран, мы обычно приводим к ней тот экран, на основе которого дизайнер рисовал дизайн, чтоб из спеков размеры один-в-один в код можно было переносить)
2. Сразу пытаемся верстать гибко... это подразумевает постоянные неудобные вопросы дизайнеру/заказчику, типа... а как этот элемент будет выглядеть, если имя пользователя будет размером с роман "Война и мир" без пробелов... )
3. Периодически тестируем в разных симуляторах/эмуляторах на предмет необходимости поправить что-то...
А ещё, о ужас, пользователи могут проставлять в настройках своих девайсов увеличенный шрифт )))


Denis
22.08.2018
13:16:00

Admin
ERROR: S client not available

Gena
22.08.2018
13:16:53
?
Это фактически делает невозможной жесткую верстку )


Denis
22.08.2018
13:18:32
Тут нет правильного решения... тут есть много решений разной степени паршивости... и это общая проблема и для веб и для мобилок, независимо от использования RN.
Надеюсь остальные тоже поделятся своими решениями.
Мы так делаем:
1. Считаем на старте приложения константу, которая домножается на все размеры (константа считается так, чтоб в небольших пределах компенсировать недостаток площади на мелких экранах, т.е. там она меньше 1, для больших экрананов она чуть больше 1 чтоб совсем уж много пустоты не образовывалось... 1 - это эталонный экран, мы обычно приводим к ней тот экран, на основе которого дизайнер рисовал дизайн, чтоб из спеков размеры один-в-один в код можно было переносить)
2. Сразу пытаемся верстать гибко... это подразумевает постоянные неудобные вопросы дизайнеру/заказчику, типа... а как этот элемент будет выглядеть, если имя пользователя будет размером с роман "Война и мир" без пробелов... )
3. Периодически тестируем в разных симуляторах/эмуляторах на предмет необходимости поправить что-то...
1. Это подразумевает, что вы описываете какую-то функцию ~`scale` которая принимает размер и возвращает что-то типа size * 1.3 (где 1.3 это константа для определенного pixelration) ?


Gena
22.08.2018
13:21:17
В любом случае это арт уже )))

Denis
22.08.2018
13:22:11
Я бы по-другому это назвал

Gena
22.08.2018
13:24:46
Как угодно... но цель проста - если, к примеру, на нормальных экранах вы можете в списке показать 4 - 5 элементов с размером шрифта 17. То при таком размере шрифта на каком нибудь iPhone 4s это будет 2 элемента, что выглядит криво... там нужен шрифт меньшего размера. Вот этот множитель мы и "подбираем".

Denis
22.08.2018
13:26:11

Andrey
22.08.2018
13:26:25

Gena
22.08.2018
13:27:31

Dmitriy
22.08.2018
13:31:32
Очень нужна помощь. В проекте iOS после его конвертирования на pod’ы не собираются кастомные конфигурации
Я имею ввиду помимо release и debug

Gena
22.08.2018
13:34:14

Dmitriy
22.08.2018
13:35:29
Ошибка при линковке не может найти lib%projname%

Gena
22.08.2018
13:38:58
Ошибка при линковке не может найти lib%projname%
Вот сюда смотрели на параметр build_configurations? https://guides.cocoapods.org/syntax/podfile.html#project
Я просто очень давно делал несколько конфигураций - не помню что там сейчас... вычитывает ли оно само все из xcodeproj или руками надо вписывать...

Dmitriy
22.08.2018
13:40:31
Да так я тоже пробовал эффекта не было

Google

Gena
22.08.2018
13:47:32
Гм... четно говоря на ум прям ничего не приходит. Несколько общих замечаний (которые я именно с RN огребал при конвертации на pods):
1. Дефолтный проект, который react-native init генерит, содержит зависимость на RN через схемы, их надо удалить все (иначе дубликаты библиотек типа libReact.a будут линковаться)
2. Дефолтный проект хардкодит header search paths так, что он не наследует вышележащий - ломает работу через workspace (может сейчас и не ломает, но у меня в чек-листе на проверку)
3. Постараться не пользовать frameworks (тоже, сейчас м.б. уже работает либо есть способ пофиксить, но у меня в чек-листе)
4. Всегда после pod install работать через workspace, никогда не открывать просто MyProject.xcodeproj

あなたの神
22.08.2018
14:39:15
После exp detach, дабы нормально запустить проект, надо прописать в папке ios - pod install, а какие ещё шаги есть?
И соотвественно для андроида

Gena
22.08.2018
14:48:37

あなたの神
22.08.2018
14:50:12

Gena
22.08.2018
14:51:15

あなたの神
22.08.2018
14:52:08
Лучше расскажет пусть тот, кому удалось при detach целый проект не сломать)
И успешно запустить*

Gena
22.08.2018
14:52:33

あなたの神
22.08.2018
14:52:42
Две ошибки вылетели

Gena
22.08.2018
14:53:12
Всего? )) Так это порешать можно... а что за ошибки?

あなたの神
22.08.2018
14:53:34