@reactnative_ru

Страница 789 из 878
Gena
21.08.2018
17:49:47
У меня в Header TextInput привязался к onBlur
Не понял... что значит "привязался"? )))

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

Play
21.08.2018
17:51:52
Не понял... что значит "привязался"? )))
если нажимаю вне клавиатуры, то она скрывается и срабатывает onBlur

Google
Gena
21.08.2018
17:57:19
если нажимаю вне клавиатуры, то она скрывается и срабатывает onBlur
По ходу они так сейчас это и трактуют... https://github.com/facebook/react-native/blob/0.56-stable/Libraries/Utilities/dismissKeyboard.js#L18

Эта ф-ция дергается по Keyboard.dismiss

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

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)... И что? Весь этот трекинг фокуса идет нафиг...

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

Gena
21.08.2018
18:31:50
Кто-то сталкивался с http://prntscr.com/klbztk ?
Не слинковали (или не перебилдили) приложение после установки модуля.

Gena
21.08.2018
18:32:29
делал и то и другое
Но цель не была достигнута так или иначе )

Это ios или Android?

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

Gena
21.08.2018
18:38:55
все это проделывал, все есть
Запустите проект из Xcode в симуляторе (в отдельном терминале должен быть пакаджер запущен)

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

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 реагировали...

Есть ли возможность передать props в StyleSheet ?
А кто мешает свой PropsSheet написать? там кода на один экран...

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
вчера увидел, как функцию передать можно: textStyle: { color: '#fff', fontSize: 28, width: w - 40, fontFamily: 'AvenirNext-DemiBold', ...ifIphoneX({ paddingTop: 75 }, { paddingTop: 50 }) },
Это не передача ф-ции... это её вызов ))) она возвращает объект, который флеттится и мержится через Object.assign в объкт лежащий по ключу textStyle

Весь этот код выполняется до StyleSheet.create

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

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

Gena ты бог, на счет того что посоветовал через xcode запустить
Потому что так легче дебажить... реально...

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. То есть, не грузится совсем. Видно только лого гугла, и все. Уже пробовал: менять версию апи ключа, градла, делать релизную сборку. Суть одна: карта работает на всех ведройдах, кроме шестого. Причём, какими-то магическими тыками по приложению всё-таки можно случайно заставить что-то загрузиться. Но все равно работает некорректно. Есть идеи или опыт?

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
Что это за магическая дата 24-25 Сентября 1989
день рождения сына маминой подруги

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

✡️Хаски
22.08.2018
11:07:54
там часы ведь указаны, 20+3=23, 21+3=24=00 след дня
Я заметил , почему в пикере выбрано 24, а результат 23 ?

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 в модели работаем... соотвественно все расчеты/сериализация через него...

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. Периодически тестируем в разных симуляторах/эмуляторах на предмет необходимости поправить что-то...

А ещё, о ужас, пользователи могут проставлять в настройках своих девайсов увеличенный шрифт )))

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
1. Это подразумевает, что вы описываете какую-то функцию ~`scale` которая принимает размер и возвращает что-то типа size * 1.3 (где 1.3 это константа для определенного pixelration) ?
Там сложно... если общими словами говорить, то это ф-ция от многих аргументов - физические размеры экрана, разрешение, скейл... или если подругому, то кол-во точек на экране и физический размер точки...

В любом случае это арт уже )))

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

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

Andrey
22.08.2018
13:26:25
А ещё, о ужас, пользователи могут проставлять в настройках своих девайсов увеличенный шрифт )))
Просто глобально запрети в своей аппе изменение размера шрифта и всё

Gena
22.08.2018
13:27:31
Есть где-то пример такого подхода?
От меня в паблике пока нет, к сожалению.

Просто глобально запрети в своей аппе изменение размера шрифта и всё
При этом надо не забыть не использовать системные шрифты, т.к. они разные на iOS/Android и в разных версиях доступны разные наборы шрифтов...

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

Я имею ввиду помимо release и debug

Gena
22.08.2018
13:34:14
Я имею ввиду помимо release и debug
А что происходит? Какая ошибка? Эти дополнительные конфигурации слинкованы с libPods?

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
После exp detach, дабы нормально запустить проект, надо прописать в папке ios - pod install, а какие ещё шаги есть?
Судя по тому, как у них выглядят шаблоны для Podfile... ничего ужен не надо туюнить. Надо всё поставить и слинковать npm install , cd ios && pod install

Gena
22.08.2018
14:51:15
Хм. Ну тогда я деган, умудрился оба билда положить, backup time
Но я никогда не использовал экспо... так что лучше, если кто нибудь, кто юзал его ответит.

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

И успешно запустить*

Gena
22.08.2018
14:52:33
Хм. Ну тогда я деган, умудрился оба билда положить, backup time
Один только вопрос. А пробовали открыть в Xcode Project.xcworkspace открыть (именно его, не xcodeproj) и сбилдить оттуда?

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

あなたの神
22.08.2018
14:53:34
Всего? )) Так это порешать можно... а что за ошибки?
Та хз, я домой собираюсь уже. Овертаймить дело не мое?

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