Khorark
Дольше всего было два раза (на ios и android) понять как правильно с RN взаимодействовать.
А кроме тебя сможет кто-нибудь поддерживать это решения? На сколько в плане бизнеса оно выгодно получается? Напоминает ситуацию, когда новичок приходит в команду и задаёт вопрос, на каком стеке работаете, а ему говорят, что у нас все самописное. Т.е. по сути ему нужно учить что-то новое, что ему нигде больше не пригодится.
В любом случае, ваше решение довольно таки оригинально и было бы интересно почитать про сравнение вашего с RN и RNN.
Gena
А кроме тебя сможет кто-нибудь поддерживать это решения? На сколько в плане бизнеса оно выгодно получается? Напоминает ситуацию, когда новичок приходит в команду и задаёт вопрос, на каком стеке работаете, а ему говорят, что у нас все самописное. Т.е. по сути ему нужно учить что-то новое, что ему нигде больше не пригодится.
В любом случае, ваше решение довольно таки оригинально и было бы интересно почитать про сравнение вашего с RN и RNN.
С поддержкой, конечно нужен не js программист, а потенциально два нативщика. С бизнесом интереснее. Мы специально обговаривали этот вопрос для последнего приложения, в частности было опасение, что использование RN будет чревато тормозами, и фактчески условием его применения была возможность в случае необходимости сделать самые важные экраны полностью нативно, поэтому мое решение как раз подходило для этой цели.
С новичками есть такое, да. Но мне не нужны новички, которые тупо заучивают один фреймворк, мне нужны люди, которые хотят научиться понимать структуру любой программы, которые способны (или хотят научиться) быть гибкими в современном мире, где каждый год на волне хайпа прилетает новая технология. И, да, командам в которых я работаю, как следствие приходится разделять эти ценности, или мы не работаем вместе )
Gena
Что касается посмотреть, я могу хоть сейчас открыть код (он писался не в рамках текущего проекта), но он довольно бесполезен потому что то же самое можно сейчас сделать с RNN и даже гораздо больше. Изначально он написался, потому что RNN v2 был неюзабелен, а v1 использовать не хотелось. Я на этом коде понял как должна выглядеть навигация и кое-чему научился, но вот делать из него публичный модуль кажется довольно глупым. Но если хочется, могу открыть (сейчас это приватная репа в bitbucket, и меня осенило что интерфес в принципе не правильный в процессе каких-то переделок, так что скорей всего ещё и не запускабельно, не помню уже). В живую его работу можно посмотреть в приложении Yetsi (доступно в русскоязычных маркетах Apple и Google).
Aleksei
Gena
так как должна выглядеть то?) интересно же теперь
Если очень кратко, то первый вариант я написал не понимая как навигация в андроид работает... соответственно как и в RNN были в голове термины stack layout, tabs layout и прочее... Это не очень гибко и плохо вписывается во что-то кроме ios, это даже в RN для ios плохо вписывается.
Поэтому сейчас я хочу сделать такое:
1. Есть история конфигураций экранов (буду дальше эту конфигурацию "layout" называть)
2. layout определяет какие компоненты на экране видны и в каком месте (компоненты типа: Header, BottomTabs, ReactRoot, возможно чтоб описать как они расположены придется использовать что-то типа контейнеров)
3. Управление происходит путем модификации истории, т.е. засылается в натив новый желаемый layout, анимации выстраиваются автоматически от текущего (к примеру, сейчас в layout уже есть Header, в новом тоже должен быть, значит это один и тот же Header и анимируются его внутренности).
4. layouts в историю могут быть добавлены/удалены даже если они сейчас не видны на экране.
И да, я знаю, что это в каком-то смысле дублирование того, что делает RN рендерер, но он сейчас так написан, архитектура всего этого такая, что я не имею возможности желаемое сформулировать в виде дерева реакт элементов. Если бы была такая возможность, то было бы вообще идеально...
Gena
Время покажет )
Artem
Привет, а от куда и как правильно запускать скрипт, метод, который я хочу запускать при старте приложения? Использую redux. redux-persist. хочу в нем проапдейтить данные. Гугл что-то не выдает результата.
#sasha
Artem
Да
#sasha
Да
Так чем не подходит componentDidMount в основном компоненте?
Artem
До момента отрисовки вьюхи
Gena
повторюсь, это когда? До момента отрисовки вьюхи целая жизнь проходит в любом мобильном приложении, а уж в RN и подавно )
Artem
Ну мне нужно проапдейтить данные, который отображаются на вьюхе как раз
Artem
Про componentDidMount спасибо, гляну.
Artem
Пока не знаю таких тонкостей, я только начал писать маленькое приложение для себя. На сколько понимаю, при запуске какое-то время инициализируется redux-persist. Вот мне нужно после инициализации redux-persist и перед отрисовкой вьюхи мейн окна.
#sasha
Artem
Спасибо, попробую.
Dr
Всем привет. Использую для навигации react-navigation. Не подскажете, как с react hooks можно поменять заголовок экрана? через классы делается через static navigationOptions = ()=> ({}). А через хуки как это можно сделать?
Dr
А, отбой, все норм. Просто в стек навигаторе было указано название и перебивало то которое указывал в компоненте
9830805fd794d3b8cbee22fe898fefb7
Привет всем. На проекте используем react native track player 1.1.3 , react-native-video 3.2.1 и react-native-airplay-ios В главном компоненте используется Video для слайдера. При логине пользователь может воспроизводить треки с удаленного стриминг сервера а также через airplay стримить на другие устройства. но столкнулись с несколькими проблемами. одна из них - при логауте юзера во время стриминга на другое устройство начинается стрим видоса из слайдера - пока нашел из похожих проблем описанную чисто у юзеров вообще - https://www.reddit.com/r/apple/comments/7tmpyv/its_really_annoying_when_youre_playing_a_video/ Пробовал использовать `Airplay.disconnect ()`во время логаута но он почему то не помогает - залазил в нативный код там
[[NSNotificationCenter defaultCenter] removeObserver:self];
пробовал добавлять в пропсы видео компоненту
allowsExternalPlayback={false}
- не помогло. Кто-нибудь сталкивался с таким?
Anonymous
как установить nuclide FaceBook для Windows в Атом
Konstantin
Я уже спрашивал, но так и не победил.
Может у кого есть какие мысли, что я делаю не так.
Konstantin
Подскажите как передать параметр в такой цепочке
Есть
createAppContainer(createSwitchNavigator(
{
AuthLoading: AuthLoadingScreen,
App: AppDrawerNavigator,
},
{
initialRouteName: 'AuthLoading',
}
));
в AuthLoadingScreen, который extends React.Component, я получаю из AsyncStorage параметр someParam
делаю this.props.navigation.navigate('App', {someParam: someParam});
где
const AppDrawerNavigator = createDrawerNavigator({
Home: {
screen: AppStack,
},
}, {
initialRouteName: 'Home',
headerMode: 'float',
contentComponent: CustomDrawerContentComponent,
});
где
const AppStack = createStackNavigator({
AppHome: AppHomeScreen,
...
});
вопрос как мне пробросить параметр из AuthLoadingScreen в AppHomeScreen ?
при этом в CustomDrawerContentComponent я могу получить тот самый параметр в constructor через props.navigation.state.params.someParam
но в AuthLoadingScreen в props.navigation.state даже нет state
Max.
Ребята привет, есть люди кто сталкивался с созданием нативного модуля где под иос код на свифте? Вроде все верно сделал, но сборка падает с
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_RNWebim", referenced from:
objc-class-ref in libRNWebim.a(RNWebim.o)
l_OBJC_$_CATEGORY_RNWebim_$_RCTExternModule in libRNWebim.a(RNWebim.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Самого по себе кода минимум, https://github.com/StrongSquirrel/react-native-webim/blob/master/ios/RNWebim/RNWebim.m
Max.
Гуглил до дыр, безуспешно^
Никита
Гуглил до дыр, безуспешно^
У меня есть простенькая реализация webim, но не публиковал пока. Или все уже готово и проблема только собрать?
Tim 🥑
Гайз, кто-то работал с react-native-navigation?
Никита
Насчет решения - попробуй создать пустой свифтовый файл в проекте (рядом с AppDelegate.m)
xcode предложит briging header создать, соглашайся. Файл не меняй - просто будет висеть
Max.
Max.
Denis
Всем привет! Есть следующая задача: в приложении есть таймер, юзер задает время, открывается коннект к сокету и по истечению этого времени его нужно остановить. Таймер должен работать если юзер закрыл или свернул приложение.
Что можете посоветовать для решения этой задачи? Пока что присматриваюсь к react-native-background-timer. Кто-нибудь с ним работал, подойдет ли для текущей задачи? Спасибо!
Constantine️
Denis
Gena
Denis
A
кто-нибудь делал карусель или горизонтальную прокрутку фоток как в инстаграме на react-native-reanimated?
Gena
A
Nick
A
A
я наверное забыл сказать про свайп
A
по свайпу нужно плавно листать фотки, секции, вперед, назад. автоматизма не надо. просто плавное, независимо от скорости свайпа переключение. и если свайп с задержкой, то когда доводишь до середины экрана, плавное открытие новой секции
GrafMine
ребят, помогите решить эту проблему, все схожие в гугле уже испробовал не один совет не помог.
GrafMine
GrafMine
если что готов уже заплатить-директ))
Aleksei
Andrey
Кто-нибудь работал с синхронизацией данных на React Native? Т.е. переходя с offline в online, данные должны синхронизироваться с сервером. Как именно синхронизироваться с сервером? Есть какие-нибудь либы?
A
странный вопрос 🙂
не глючит, без застреваний, я это имею ввиду. извиняюсь, за непрозрачную формулировку
A
я пробовал react-native-snap-carousel . на андроиде не очень
A
Юрий
A
Nick
на базе Animated.View из react-native-reanimated и translateX
Nick
но там придется немножко покурить мануалы
Nick
не самый очевидный api
Narek
а какой версии у тебя RN?
A
ну готового решения я и не нашёл, покурить я не против. просто разобраться как это должно быть хотя по структуре
GrafMine
Narek
попробуй обновится до последней
Narek
и через podfile подключить последний RNFirebase
GrafMine
очень плохая идея, я начинал с самой последней и даунгруйднулся
Kesha
Привет
А какие у вас есть самые сложные приложения в сторах?
С красивой анимацией, частым обновлением данных и вьюх
Чтобы понять чего можно достичь
Kirill
GrafMine
Alexsandr
A
Вот эта горизонтальная листалка фоток , как в инсте, с нативным поведением
A
Anonymous
kak ustanavit react native v atom windows 10
Anonymous