Peter
окей спасибо
Катан!
Господа подскажите пожалуйста, пытаюсь в react-navigation передать данные с одно экрана на другой, понял что для этого вроде как можно юзать this.props.navigation.state.params, но при попытке вывести текстом стейт на втором экране говорит мол undifined is not an object (я так понимаю он этих данных все равно не видит??)
Alex
Катан!
а в дебагере что?
TypeError: TypeError: TypeError: TypeError: undefined is not an object (evaluating 'this.props.navigation.state.params.cars')
Alex
Катан!
На первом экране:
this.props.navigation.setParams({
car: 'none',
dateBefore: '',
dateAfter: '',
routes: true
})
Alex
Alex
Cenator 🐈
много кто, вопрос задавай
Alex
Cenator 🐈
что он должен подхватывать?
Cenator 🐈
это зависит от библиотеки, из react-intl у меня подсказываются компоненты, из react-native нет, думаю дело в тайпингах
Cenator 🐈
Dmitry
У меня подсказывает все
Dmitry
И пропсы и методы (правда иногда глючит)
Dmitry
Ну у меня много расширений стоит
Dmitry
Могу глянуть список
Peter
Кто нибудь вообще использовал в react-native приложении, в xcode проекте, нативные платформенные фреймворки? к примеру ARKit.framework или CoreBluetooth.framework и тд
Peter
и те фреймоврки, что за собой тянут требование своего правила в info.plist
Peter
заводятся ли они у вас?
Peter
у меня что-то нифига не получается вторые сутки завести ExternalAccessory.framework
Peter
<key>UISupportedExternalAccessoryProtocols</key>
<array>
<string>com.aktivco.rutokenecp</string>
</array>
Peter
как будто бы игнорируется это в info.plist
Peter
так как идентичный код с этим правилом в рабочем примере (в песочнице, без react-native) работает
Kirill
Привет, вопрос есть, в самом react native потоки плодить нельзя же, если я сделаю в нативной части модуль, чтобы он обрабатывал какие-то данные в потоке это будет считать нормальным ?
Gena
Там все нативные модули в отдельном потоке ) Так что норм.
Gena
Потоки только в JS плодить нельзя, он весь однопоточный
Kirill
в смысле, для каждого нативного модуля, к примеру запись в файл или еще что-нибудь будет свой поток ?
Gena
https://facebook.github.io/react-native/docs/native-modules-ios#threading
Kirill
спасибо
Катан!
т.е. я так понимаю нужно управлять стейтами второго экрана с первого, чтоб он знал когда нужно перерендерить все, но как.. ._.
Gena
Катан!
думаю вот как хахах, я 2 дня на реакте пишу, можешь смело кинуть помидор и отправить учить паттерны
Gena
Просто чтоб этот говнокод написать, придется ещё кучу проблем преодолеть )))
Gena
Проще ещё час про redux/mobx почитать )
Gena
И вытащить модель данных из экранов )
Dmitry
Я же скидывал шаблон с редаксом и навигацией
Катан!
Я же скидывал шаблон с редаксом и навигацией
Да мне по сути одну задачку решить осталось, сейчас добью и буду разбираться по человечески. Есть методы push и navigate и они доставляют нужные данные, вот только они переключают на экран, а мне бы остаться на первом :c
Cenator 🐈
Оххх
Gena
Многие очень сложные проблемы в программировании начинались с одной маленькой задачки. К примеру, найти запись в адресной книжке ))
Dmitry
Dmitry
Я там все очень просто сделал
Dmitry
Так что будет легко
Vitaly
Катан!
во
Катан!
данные я могу подсунуть, как перерендерить?
Vitaly
Катан!
брр
Serhii
Катан!
Ща, сокращу
Aynur
при переходе на 2 второй экран передаете через params то, что нужно и всё
Aynur
у вас каша в голове)
Aynur
очень сложно понять что вы хотите
Катан!
Vitaly
Поддерживаю, то слижно как то )
Aynur
а зачем его перерендерить нужно?
Vitaly
Aynur
+
Vitaly
Например в componentDidMount
Vitaly
Он отработает, когда экран отрисуется
Vitaly
Там делаешь обработчик данных, и обновляешь стейт
Vitaly
Если данных нет, не обновляешь
Катан!
вот да, про это я спрашивал, через try except лучше всего сделать?
Aynur
ну проверяйте на наличие params во втором экране
Катан!
или как, я просто после делфи хахах
Vitaly
Абстрактно, иф дата - обнови
Aynur
можно просто if(this.props.navigation.state.params)
Aynur
вроде так
Vitaly
Елсе сделай пустой массив, если это рендер списка
Vitaly
Либо this.props.navigation.getParam(“paramname”, defaultvalue)