Władimir (Zae)
у меня был проект с монорепой, он 8гб весил, в те моменты я вспоминал про свои 128, а в остальном пофиг
Ramil
Сабж умеет apple carplay / android auto?
Gena
Если весь код в проекте в исходниках и всяких странных precompiled фреймворков не надо, то всё довольно просто
Gena
Лучше посмотреть примеры из других модулей и по образу и подобию
Alexander
Минутка нытья. Ну почему эти "гениальные" программисты из Facebook ничего не могут нормально сделать... вот спрятать некоторые методы в TextInputState у них "ума" хватило, типа особенности реализации, а сделать респондер чейн нормально нет.... ((( Вот есть система для определения по нативному id, TextInput это или нет: https://github.com/facebook/react-native/blob/0.58-stable/Libraries/Components/TextInput/TextInputState.js#L82 и они её сами в ScrollableMixin используют (это кусочек реализации скрытия клавиатуры по тапу внутри скролла), а вытащить её нормально в паблик не могут... вот весь публичный интерфейс: https://github.com/facebook/react-native/blob/0.58-stable/Libraries/Components/TextInput/TextInput.js#L330 Вот правда, находишь такое и хочется забить на них вообще... форкнуть какую нибудь версию 0.26, портануть туда часть свежих фич, заделать баги и жить на ней ((( И после этого, как можно ждать, что на C++ у них с фабрикой что-то получится?
Для тебя специально issue создали https://github.com/react-native-community/discussions-and-proposals/issues/64 Набрасали им уже прилично) Если знаешь как правильно, то делай PR и кидай им.
Oleksandr
Бьіл мак мини 2012 он лучше 2014, там можна ссд доставить и 16оперативки, а стоит меньше $400 для разработки хватает на я купил на днях мак бук про 2015 15‘‘, так как нужна мобильность и надо запускать по 3 симулятора за раз иногда
Stas
моя минутка нытья: почему на каждой мажорной версии react-navigation нехватает чего-то очень базового?
Gena
а чем вы пользуетесь?
Я тут писал где-то... пока всё ещё самописным и очень простым аналогом react-native-navigation Но суть не в этом. Первое, что я делаю в новом приложении - это ставлю mobx и завожу синглтон Application. В него добавляется код инициализации и глобальные модели как observable и там же начинает жить общая логика, её становится больше и это всё превращается постепенно в полноценные модели и контроллеры и MVC... Соответственно, если мне надо было бы title в навигаторе от react-navigation менять, то там бы вместо title был бы кастомный компонент, примерно такой: @observable export class NavTitle extends React.Component { render() { return <Text>{Application.sharedApplication.globalTitle}</Text> } } Может это и глупо, но оно так очень хорошо работает. Плата - нужно самому строить архитектуру, т.к. React - только View слой и HMR ломается, т.к. он больше не может патчить Application и всё, что в нем лежит... View-слой по прежнему нормально с HMR работает при этом.
Артем
какую норм либу можно использовать для сохранения изображения по урлу на телефон?
不退転」
Я тут писал где-то... пока всё ещё самописным и очень простым аналогом react-native-navigation Но суть не в этом. Первое, что я делаю в новом приложении - это ставлю mobx и завожу синглтон Application. В него добавляется код инициализации и глобальные модели как observable и там же начинает жить общая логика, её становится больше и это всё превращается постепенно в полноценные модели и контроллеры и MVC... Соответственно, если мне надо было бы title в навигаторе от react-navigation менять, то там бы вместо title был бы кастомный компонент, примерно такой: @observable export class NavTitle extends React.Component { render() { return <Text>{Application.sharedApplication.globalTitle}</Text> } } Может это и глупо, но оно так очень хорошо работает. Плата - нужно самому строить архитектуру, т.к. React - только View слой и HMR ломается, т.к. он больше не может патчить Application и всё, что в нем лежит... View-слой по прежнему нормально с HMR работает при этом.
а где вы инициализируете синглтон и как передаете в него изменения?
Gena
а где вы инициализируете синглтон и как передаете в него изменения?
Инициализирую в index.js, обычно это выглядит как вызов Applicaton.bootstrap(cfg) А изменения передаю вызовом методов на нем )
Артем
Rn-fetch-blob
а что насчет react-native-fs? использовал когда-нибудь?
Gena
но вы храните все в одном большом синглтоне или распределяете?
Не потом как сложность повышается бью функционал уже на отдельные компоненты, но создаются и менеджерятся они из этого синглтона
Andrii
мне на работе выдали air 13го года, конечно же с монитором в придачу. я был очень сильно поражен его мощью- запущено два эмулятора и вебшторм. работает идеально
Gena
Ну всё просто... в самом верху иерархии пишем такое (упрощенный вариант нашего скрина, к примеру): const s = StyleSheet.create({ container: { ...StyleSheet.absoluteFillObject, backgroundColor: theme.bgColor, }, }) interface IProps { style?: StyleProp<ViewStyle> } const Screen: React.SFC<IProps> = (props) => { const style = props.style ? [s.container, props.style] : s.container const modal = Application.sharedApplication.modal // hack, because property "rejectResponderTerminator" omitted in RN typings const Touchable = TouchableWithoutFeedback as any return ( <Touchable onPress={handlePress} rejectResponderTerminator={true}> <View style={style}> {props.children} <ModalHost controller={modal} /> </View> </Touchable> ) } function handlePress() { const State = TextInput.State const current = State.currentlyFocusedField() if (current) { State.blurTextInput(current) } }
Gena
Вот без этого rejectResponderTerminator={true}, все ScrollView, которые внутри такого Screen'а перестают работать
Gena
Я случайно на это св-во наткнулся, оно в самом RN используется, в него TextInput обернут вот здесь: https://github.com/facebook/react-native/blob/0.57-stable/Libraries/Components/TextInput/TextInput.js#L1024
Gena
Ага, нашел, как же ))) Хорошо что описывать начал. И извините за дезинформацию. Не помогает оно. Методика тестирования неправильная была )
Gena
Я пытался скролл крутить за другой Touchable... это работат всегда. Не работает прокрутка за обычный View (
Артем
https://medium.com/react-native-training/caching-images-in-react-native-709fd94b3e71
Артем
пока не читал, самому интересно как это работает
Gena
Кажется победил. У TouchableNativeFeedback есть одно плохо документированное свойство, которое решает проблему неработающего ScrollView... Сейчас доделаю и добавлю ответ на SO
Дубль 2... через хак (это вероятно будет ломаться при апдейтах). // HACK import { blurTextInput, currentlyFocusedField, isTextInput, } from 'react-native/Libraries/Components/TextInput/TextInputState' // верстка <View style={style} onTouchEnd={onTouchEnd} accessible={false}> {props.children} </View> // логика скрытия клавиатуры function onTouchEnd(ev: GestureResponderEvent) { const current = currentlyFocusedField() if (current && !isTextInput(ev.target)) { blurTextInput(current) } }
Gena
И вот это работает всегда как надо
Gena
За исключением случаев, когда сбивается TextInputState (но это происходит только если использовать нативную навигацию и это отдельный баг)
Petr E
а посоветуйте пожалста либу для валидации, которая умеет валидировать email и телефон?
sanqa
ребят а можно перепрыгнуть с обжектива на свифт ?и как это болезнено
sanqa
я про реакт натив…
sanqa
по дефолту идет же обжектив
Petr E
по дефолту идет javascript
Дмитрий
я про реакт натив…
Это к разработчикам RN. Не будешь же ты переписывать всё на Свифт сам.
Alexander
ребят а можно перепрыгнуть с обжектива на свифт ?и как это болезнено
Пишешь 1 bridging header файл и дальше пиши не свифте сколько хочешь
Alexander
ребят а можно перепрыгнуть с обжектива на свифт ?и как это болезнено
В папке ios лежит проект для ios. В него при сборке добавляется jsbundle. Вообще плевать, на чем ты пишешь
sanqa
http://www.ikantam.com/blog/swift-modules-in-react-native
sanqa
такое нашел
Petr E
кто какой валадатор использует?
Ivan
Привет, с RN знаком недавно. Кто-то сталкивался с make deep links на ios и android без редактирования нативного когда? Только js?
Дмитрий
Привет, с RN знаком недавно. Кто-то сталкивался с make deep links на ios и android без редактирования нативного когда? Только js?
Привет. Ну, работал с deep linking. А что там в нативе тебе надо делать? В Андроиде xml manifest добавить пару строк, а в ios в plist то же самое почти
Ivan
Привет. Ну, работал с deep linking. А что там в нативе тебе надо делать? В Андроиде xml manifest добавить пару строк, а в ios в plist то же самое почти
Дело в том что на текущем проекте такая структура что нет доступа к этим файлам, вообще нет доступа к найтив
Дмитрий
Дело в том что на текущем проекте такая структура что нет доступа к этим файлам, вообще нет доступа к найтив
Эм.. Это как? Чтобы включить deep linking, нужно указать это в настройках для андроида и иос. Без этого никак
Иван
Привет. Ну, работал с deep linking. А что там в нативе тебе надо делать? В Андроиде xml manifest добавить пару строк, а в ios в plist то же самое почти
а что указывали не подскажите? А то я по мануалу от reactnavigation делал, у меня не обрабатываются урлы
Иван
Ссыль на мануал
я делал вот по этому мануалу https://reactnavigation.org/docs/en/2.x/deep-linking.html
Ivan
Эм.. Это как? Чтобы включить deep linking, нужно указать это в настройках для андроида и иос. Без этого никак
Если есть время, то вот проект https://github.com/sysgears/apollo-universal-starter-kit тут идёт настройка на expo и генерит все на сервере expo
Дмитрий
я делал вот по этому мануалу https://reactnavigation.org/docs/en/2.x/deep-linking.html
Ну этот мануал не отличается от официальной документации. Всё то же самое
Дмитрий
Если есть время, то вот проект https://github.com/sysgears/apollo-universal-starter-kit тут идёт настройка на expo и генерит все на сервере expo
Ну про то, что app на экспо делается надо было сразу уточнить. Я, к сожалению, с этим помочь не могу, с экспо не работал достаточно.
🔥
если билдить через экспо, это все можно настроить в app.json
🔥
экспо автоматом генерит правильную линку даже в тестовом энве, когда приложение само по себе запущено в эксповском эмуляторе
🔥
те чтобы можно было тестить локально
🔥
без сборкии и установки нативного билда
Artem
Всем привет в приложении нужно сделать такой элемент. Он должен быть анимированный т.е от количества баллов круг заполняется. Подскажите как это можно реализовать?
Ivan
Надо внимательнее читать доку
Artem
Вот так, например: https://github.com/bartgryszko/react-native-circular-progress Хотя с переходом цвета не уверен
Благодарю. Но эту либу можно юзать как заменитель. Не уверен что получится ее кастомизировать так что-бы выглядило как на скрине. А заказчик хочет именно такой прогресбар )))
Denis
Ребята, а кто-то юзал redux-form с RN?
Victor
Привет всем, какие-то траблы возникли с бандлом под IOS
Victor
Сейчас кину лог
Victor
Victor
Victor
Есть какие-то идеи?
Victor
У меня на android все супер...
Anonymous
Хай есть Казанские, нужна помощь не бесплатно
Anonymous
С наступающим всех
Anonymous
В общем проблемы с разворачиванием проекта из гитхаба
Anonymous
Npm depricated ругаеться
Anonymous
И не запускается проект потом