Alexander
Ты спросить что-то хотел или как?:)
Anonymous
Мне интересно правильно ли решать идеологию навигации большим свитч кейсом
Anonymous
у всех ли так или какие то другие интересные наработки
Alexander
Я ничего страшного не вижу. Например, ты можешь написать функцию, которая будет брать нужный экран из какой-нибудь карты роутов, если тебя именно свитч-кейс смущает
Anonymous
NavigationExperimental — тут тоже через екшины можно
Anonymous
точнее так и сделал
Anonymous
редаксом меняю стейт и скармливаю его навигатору, тот отображает то, что нужно
Sergey
Alexander
https://github.com/jlyman/RN-NavigationExperimental-Redux-Example
Sergey
Ale
Anonymous
Если нужно начальное состояние приложение считать с AsyncStorage в редакс create store, то на каком этапе это лучше сделать?
Anonymous
Еще вопрос как вы используете KEY для этого стореджа? В примерах всовывают под одним ключем тупо все состояние без разбивки на разные ключи.
Anonymous
Посоветуете ли использовать врапер над асинкстореджем?
Andrey
Привет, а как можно разрешить выделение текста, детекта выделения, и изменения пользовательского выделения для android черезе несколько элементов, например <View><Text>test1</Text> <Text>test2</Text></View> Пользователь должен уметь выделить "test1 tes", а в коде я должен расширить его выделение до "test1 test2"?
Sergey
Andrey
ну пользователь делает длинный тап на тексте и появляется стандартная выделялка
Andrey
Я нашел только вот эту фичу https://github.com/facebook/react-native/commit/6cd712713b1673f13510bc127ac970648f9b5eb3
Andrey
но она выделяет только внутри одного блок
Alex
Anonymous
Как данные с asyncStorage засунуть в initialState redux?
Alexander
Инициализируй приложение, когда получил данные, например (и соот-но там же создавай экземпляр стора)
Alexander
Я так не делал, но вроде не вижу причин почему это не сработает
Mitya
Спасибо посмотрю)
Mitya
посмотри эту штуку https://crosswalk-project.org/ оно вроде как Хромиум пакует в Апликуху
Anonymous
Т.е. цеплять провайдер редакса не в корне, а на уровень глубже?
Alexander
Сек
Anonymous
Если цеплять в корне, то есть затык в асинхронности считывания стореджа и нельзя объявить приложение в callback
Anonymous
AppRegistry.registerComponent(‘app’, () => personalProvider); — вот это не ложится в callback
Alexander
А, ну тогда жопа )
Alexander
Можно диспатчить экшен типа APP_INIT
Anonymous
До этого экшина что показывать то?
Anonymous
Экран логинизации или профиля?
Anonymous
Пока не считаю стор — хз кто пришел
Alexander
Загрузку, например
Alexander
https://github.com/rt2zz/redux-persist смотрел?
Anonymous
Я бы сплеш скрин продлил, но как?
Anonymous
в выдаче видел, но не въезжаю в его суть
Anonymous
не вижу как он решает мою проблему
Alexander
У тебя проблема восстановить залогиненого юзера?
Anonymous
да
Alexander
У меня пока неизвестно есть юзер в сторадже или нет показывается загрузчик
Anonymous
в сторе данные есть, но через асинхронный лоад мигает экраг логина пока стор не подгрузиться
Anonymous
спасибо, пришлось сделать так же, но выглядит корявенько
Anonymous
Как вы закладываете высоту statusBar?
Anonymous
Т.е. флексы валят с самого верха, а простым отсутпом мне кажется делать неправильно, так как высота может быть разная
Alexander
гайз, у меня нубический вопрос. Изучаю реакт в кач-ве альтернативы обычным вариантам, но он сразу начал меня ошибками в консоль пугать, что-то вроде
Jul 14 10:16:24 user assertiond[91970] <Error>: assertion failed: 15F34 13E230: assertiond + 15801 [3C808658-78EC-3950-A264-79A64E0E463B]: 0x1
Jul 14 10:16:24 user Unknown[91970] <Error>:
это лечится?
Alexander
самое простое приложение вроде init SimpleApp выдает при запуске и при каждом тапе в эмуле такие ошибки
Alexander
ЧЯДНТ
Satoshi
ты лучше код показывай который эти ошибки дает
Alexander
просто создаешь приложение
$ react-native init SimpleApp
$ cd SimpleApp
$ react-native run-ios
и получаешь assertion errors
Alexander
не исключаю что ошибки связаны с особенностями среды, попробовал на двух разных компах — одинаково
Alexander
или может быть в этом нет ничего страшного и с этим все живут при дебаге, а на продакшне оно само лечится?
Sergey
Alexander
спасибо, попробую
Anonymous
Парни, тут все на тачабл создают функции
<TouchableHighlight onPress={() => this.setState({ toggled: !this.state.toggled })}>
<Text>Toggle</Text>
</TouchableHighlight>
на сколько это нормально для нейтива. Для реакта это bad practice, а что здесь?
Alexander
почему bad practice?
Anonymous
при каждом рендере создается функция
Sergey
при каждом рендере создается функция
Так вынесете в метод класса.
Здесь в основном хэллоуворлды и сниппеты с rnplay мелькают, в таких примерах никто заморачиваться не будет.
Anonymous
тогда второй вопрос, как передавать дополнительные аргументы?
Anonymous
в реакте взял от ивента дом элемент и считал у него все, что нужно
Anonymous
<TouchableHighlight onPress={() => this._handleItemTouch(currentIndex)}>
<Text>{itemText}</Text>
</TouchableHighlight>
Anonymous
Roman
здесь есть пример как это решается
https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-no-bind.md
Anonymous
не вижу как оно там у них решается в контексте нейтива
Anonymous
можно затулить итерацию еще в один компонент
Roman
...
Roman
<ChildItem currIndex={index} onPress={this.handlePress} />
и в самом чайлд итеме:
itemPress() {
this.props.onPress(currIndex);
}
render() {
return <TouchableHighlight onPress={this.itemPress}>
<Text>{itemText}</Text>
</TouchableHighlight>
Anonymous
Anonymous
т.е. взять один из аттрибутов
Roman
открой дебагер / используй console.log и попробуй самостоятельно ответить на свой вопрос
Anonymous
та там такой срач в месте где должен быть event что глаза поломать можно
Roman
я бы именно так и поступил на твоем месте
Александр
Anonymous
bind = создание функции
Александр
Ну ок
Anonymous
буду делать как проще, потом буду оптимизировать по надобности, всем спасибо