不退転」
Но оно кривое ппц
Alik
Но оно кривое ппц
Ну так напиши просто свою компоненту, которая простой списочек будет рендерить под собой, при нажатии
Alik
Это ведь дело получаса, не больше
Dmitrii
не подскажете что может быть не так, недавно не было такого)
Dmitrii
Dmitrii
Dmitrii
NativeBase
Petr E
сделай консоль лог для confirmResult ну или точку останова поставь
Vit
реф не выстрелил у тоста походу
Dmitrii
Petr E
это вот в консоли
это все? Там нормальный json или оборваный?
Dmitrii
это все? Там нормальный json или оборваный?
нет, там он длинный, апи кей и тд
Petr E
аа ну так ты в тосте уже используешь стейт какбудуьто уверен, что он уже точно обновился
Petr E
ты любишь рисковать
Dmitrii
без стейта тоже самое
Peter
без стейта тоже самое
в <Root /> компонент загнали?
Petr E
гугл говорит, что это нативбэйзная ошибка https://github.com/GeekyAnts/NativeBase/issues/836 и судя по всему пока нет решения
Petr E
можно попробовать поиграть с версиями, но это не точно
Dmitrii
самое интересное, что позавчера не было ничего и вроде бы не трогал компонент авторизации
Dmitrii
пока так оставлю…
Dmitrii
Dmitrii
в <Root /> компонент загнали?
примного благодарен, так код написан, что именно компонент авторизации не в руте был
Vladimir
Привет! Туплю что-то целый час. Подскажите, пожалуйста, как пробросить параметры в заголовок из экрана в StackNavigator через Drawer? Иерархия такая: Stack - Drawer -- Screen 1 -- Screen 2 Как параметр использовать в StackNavigator я понял, но из экрана через Drawer он не пробрасывается. Видел пример, где в стэке лежит TabNavigator, там юзают его Header, с Drawer это не годится, или я не прав? Также в официальной доке предлагают засовывать каждый экран в еще один StackNavigator. Можно ли как-то красивее сделать без Redux, без СМС? В Screen 1 и 2 задаются некоторые значения, в StackNavigator юзаются. Спасибо!
Vladimir
там есть про вложенный Drawer?
Владимир
Встреча с Алексеем, обсуждение альтернативного варианта TS
Vladimir
navigation.setParams({param: 'param'}) а уже там получить через this.props.navigation.getParam('param');
в моем случае: navigation.dangerouslyGetParent().setParams({}), потому что экран внутри Drawer, а получаю параметр в StackNavigator
Vladimir
>Определение вложеный Drawer Слово nested встречается в документации, так что вложенный, да. То, что любой навигатор можно вкладывать в любой, я понимаю.
Vladimir
в данном контексте, тем, как экрану (Component), достучаться до верхнего навигатора
Vladimir
имею в виду, контекст setParams()
Vladimir
https://github.com/react-native-village/react-native-init/blob/b0d125d87f4988d2de1182d22e5bf6beb5e6dc26/stargate1/src/components/uikit/Header.js т.е. у Вас на экране кастомный хедер, который часть экрана, не часть навигатора?
Vit
и без кастомного таббара)
Vladimir
меня к такому не готовили
Dmitry
В рамку и на стенку. С кастомным сразу жить легче становится
Ruslan
Привет всем, компонент не делает unmount при переходе на другой скрин react-native-router-flux v3.38, как все таки можно заставить делать unmount?
Ruslan
Перестать его render'ить? )))
А вот как, вопрос глупый быть может для вас, а я не врубаю))
Gena
А вот как, вопрос глупый быть может для вас, а я не врубаю))
Я в данном случае тоже не знаю, это зависит от того компонента, который рендерит ваши экраны. Очевидно это роутер, иначе бы вы знали т.к. это был бы код написанный вами. Давайте в него посмотрим и разберемся. (ещё раз, на всякий случай, я никогда не использовал react-native-router-flux, и я не пытаюсь издеваться... просто логически размышляю) Пошел код смотреть
Gena
Мне нужна версия и код конфигурации, потому что иначе я вижу вот это там в исходниках и дальше ничего поделать не могу: https://github.com/aksonov/react-native-router-flux/blob/4.0.1/src/Scene.js#L9
Gena
И его версия 4.x таки использует react-nativigation ((
Gena
И они тоже spyware (так же, как react-native-firebase), из-за вот этого: https://github.com/aksonov/react-native-router-flux/blob/4.0.1/package.json#L14
Ruslan
Ruslan
Дело в том, что мне при unmount надо вызывать определенное действие, которое должно обязательно вызываться для корректной работы роутинга, но все дело в том, что unmount при переходе на следующий компонент не срабатывает, и отсюда начинается некорректная работа роутинга, пока я явно не сделаю назад физ кнопкой андроид
Ruslan
и вот почему то при переходе вперед не работает анмаунт, а назад работает
Gena
и вот почему то при переходе вперед не работает анмаунт, а назад работает
Могу предположить (знатоки react-navigation меня могут поправить), что стек навигатор не заментяет скрины, а как бы накладывает один на другой, т.е. более старые компоненты в стеке остаются активными. Следствием этого будет в частности описываемое вами поведение.
Gena
Т.е. когда вы переходите назад, компонент с верхушки стека, действительно удаляется и из-под него становится виден предидущий экран, в итоге unmount у компонента вызвается. А когда происходит переход вперед, текущий компонент никуда не исчезает, просто его не видно за новым, естественно никакого анмаунта не происходит... просто маунтится и рендерится новый компонент, который становится текущим и анимируется так чтоб занять весь экран...
Ololo
там вроде даже в доке было это написано
Ruslan
И кое какой роутинг нарушается
John
И они тоже spyware (так же, как react-native-firebase), из-за вот этого: https://github.com/aksonov/react-native-router-flux/blob/4.0.1/package.json#L14
Сори за нубский вопрос, но что этот код делает? Что они там отслеживают и как это отразится на моем приложении (уже юзаю react navigation и планирую подключить rnfirebase)
Gena
Сори за нубский вопрос, но что этот код делает? Что они там отслеживают и как это отразится на моем приложении (уже юзаю react navigation и планирую подключить rnfirebase)
Этот код при каждом npm install вызывает скрипт от opencollective, который ходит на их сервера по сети и забирает текущие цифры по бюджетам чтоб показать красивый баннер в терминале. Это официально. Что они там трекают и сохраняют из этих запросов на серверах своих, мы не знаем )
Gena
Oo... они ещё и прям то, что с сайта https://opencollective.com/... получили (текст логотипа), прям напрямую в терминал пуляют, без фильтрации ESC-последовательностей...
Gena
Но из позитива, у них в коде появились ручки, чтоб это вырубать на всяких CI и production серверах
Ruslan
В новых версиях это пофиксили, теперь только через push остаются.
То есть обновиться поможет решить проблему?
Peter
То есть обновиться поможет решить проблему?
если у вас react-navigation то да, теперь экраны умирают, если с них уходишь.
Peter
react-native-router-flux у нас стоит на проекте
аа.. ну тогда не знаю, этой штукой пользовался один раз и то давно. Просто там писали про react-navigation
Gena
если у вас react-navigation то да, теперь экраны умирают, если с них уходишь.
Это не поможет, в данном случае... т.к. их умирание в общем случае не связано с навигацией... потому что экран должен остаться по крайней мере, пока его видно из-под нового... т.е. до конца транзишна... А если навигация свайпом включена (не знаю есть она в react-navigation или нет... в NavigationExperimental была...), то по крайней мере тот экран, что под верхушкой стека должен жить всё время)
Gena
На самом деле если я правильно понимаю, что нужно @zharkov_r , то это надо делать вообще не в UI слое... и уж тем более не привязываться к life-cycle реакт компонентов. Это должно быть в модели навигации... именно там, где происходит переключение скринов и запуск транзишнов.
Aleksei
что то мне подсказывает что тут сейчас XY проблема решается, и что может на самом деле и не нужно вот кровь из носу анмаунтить компонент
Ruslan
что то мне подсказывает что тут сейчас XY проблема решается, и что может на самом деле и не нужно вот кровь из носу анмаунтить компонент
А если без анмаунта, то листнер будет везде вешать один единственный роут назад на конкретный компонент, и вся цепочка, по которой можно вернуться назад нарушается
Peter
Кто-нить подскажите
Peter
почему вот тут: https://github.com/keri4141/React-Native-Navigation-Redux-Example
Peter
на экране hometab, нельзя обратиться к хранилищу через this.props
Peter
и достать то что в initialState
Peter
ошибка вылазит undefined
Dmitry
на экране hometab, нельзя обратиться к хранилищу через this.props
Для этого к нему нужно сначала подключиться через connect и пробросить пропсы
Peter
const mapStateToProps = state => ({ users: state.users }); export default connect(mapStateToProps)(Hometab);
Peter
все подключено
Peter
Dmitry
Dmitry
А вызывается как