Egor
использую https://reactnavigation.org пока почему-то нравится больше чем react-native-navigation-flux
Vit
Мне тут один товарищ сообщил что они успешно RR4 для навигации используют)
Aleksandr
обычный flag
Aleksandr
через сеттаймаут просто снимай
Aleksandr
this.flag = false; onPress={() => { if (!this.flag) { this.flag = true; //button disable && actions setTimeout(() => { this.flag = false; }, 1000) } }) - разве так нельзя?
Aleksandr
ну тут стейт не вызываешь значит и рендер не будет
Aleksandr
ререндер*
Aleksandr
А что тогда?)
Aleksandr
Любопытство?
Yuriy
бить током/вибрацией пользователя))))
Egor
проблема точно не в кнопке тогда если прила падает
Aleksei
дебаунс?
Aleksei
проблема не в многократном нажатии, а то что это многократное нажатие делает. если оно при нажатии в сеть ходит, то очевидно надо где то флаг ставить на время пока респонз не пришел
Aleksei
да вам не угодить сударь)
Aleksei
имхо красота это не то к чему стоит стремится в приложении (в плане красоты кода)
Alex
а при тыкании кнопки и вызова некого действия в редаксе менять loading с false на true, и как только твое действие отработало менять назад на false, а в touchable disabled={ loading } ?
Aleksandr
ну а че с дб в асинксторедж и там уже работаем
Aleksandr
попутно юзая апп стейт
Aleksandr
:D
Ivan
ERROR: JAVA_HOME is set to an invalid directory: C:\Program Files\Java\jdk1.8.0_144 Кто сталкивался с этим?
Yuriy
ну для вот таких локальных флагов я использую this.state компонента
Aleksei
(setState не вызовет ререндера если иерархия не изменилась) все, закончил ворчать 😄
Egor
всё надо делать через redux в том и смысл
Aleksei
у меня вообще коннекты только в нужных местах, а не один большой контейнер
shashkov0
как вы делаете снэпшоты для ай ос и андроид?
Aleksei
вот есть скажем TextField, именно к нему и коннекчу
Aleksei
yep
Aleksei
и не надо ничего пробрасывать
Aleksei
ничего подобного, в коннект же самый обычный компонент приходит, так что переиспользую себе спокойно
Aleksei
mapStateToProps не просто так существует
Aleksei
а не для того чтобы делать (state) => state.someSubState
Aleksei
они итак отображаются, какая разница пришло это из родительского контейнера или из коннекта?
Aleksei
блин, зачем тебе чтобы законнекченный то был универсален. мне кажется ты путаешь
Aleksei
она итак в одном месте - в редаксе
Aleksei
а я тебе говорю что ты ошибаешься)
Aleksei
на самом деле этот способ даже более переиспользуемый. например у меня есть такой законнекченный компонент регистрации (все полностью инкапсулировано) и я могу вставлять его куда угодно, и не надо думать о том что мне надо пробросить какие то пропсы туда, экшены и прочую лабуду
Aleksei
и на самом деле сам компонент регистрации тоже знает только что есть какие то инпуты которые надо нарисовать и не знает что им надо какие то пропсы пробрасывать, всего лишь отображает их
Aleksei
вообще все данные готовлю, чтобы было для пропсов. можно и динамически зависимости тянуть
Aleksei
вообще когда я первый раз услышал про то как делать таким способом мне сначала тоже не понравилась идея, но потом распробовал 😊
Мария
а мы пользуемся storybook и там не отобразить компоненты с коннектами (ну или я еще не знаю как)
Aleksei
это application level, а не отдельные компоненты
Мария
ну вот мне надо там целый экран отобразить, а там по сути в экране куча компонентов у которых куча коннектов
Aleksei
хм, может я конечно что то не понимаю, но зачем в storybook целый экран делать
Мария
чтобы дизайнер видел, как экран в целом будет выглядеть
Aleksei
нуууу ооок)))
Aleksei
можно сделать так чтобы в сторибуке connect был фейковый)
Aleksei
хотя я конечно им не пользуюсь)
Vit
ну пропсы в коннекте подготовить это ж пол-дела, а экшоны для их изменения?) каждый переиспользуемый раз новые экшоны?)
Vit
ну вон в контексте кнопки
Vit
две кнопки - два экшэна
Vit
три кнопки - три
Vit
если кнопка свой стейт в редаксе хранит
Aleksei
пока логично говоришь 😄
Aleksei
а есть какие то другие варианты?
Vit
я в таких случаях делаю пропс name="asfasfds"
Vit
и фигачу экшоны changeState(name, value) ))
Aleksei
а, ну дык пожалуйста, я тоже так делаю)
Aleksei
язык то динамический, верти как хочешь)
Vit
ну это для тех случаев когда кнопку "отжать" могут по результатам запроса в апи)
Vit
а если стей дальше компонента не уходит - то setState конечно)
Aleksei
ну у меня setState, гораздо реже, а то по опыту, придет ПМ и скажет "а вот сделай еще чтобы когда кнопка нажата, какая нибудь хрень внизу в самом исчезала"
Vit
рефакторинг - экстракт стэйта в редакс))
Aleksei
рефакторинг - экстракт стэйта в редакс))
ну вот мне проще сразу туда засунуть, чтобы не рефакторить))
Vit
ПМу по голове постучать еще можно)) чтоб не умничал часто))
Aleksei
ишь ты бунтарь)
Aleksei
делать надо так, чтобы легко изменять было)) в этом и есть любимый всеми баззворд - архитектура
Vit
постучать это так: тук-тук-тук АЛЁ У ВАС ВСЕ ДОМА?
Aleksei
Это quality attribute modifiability
какой то жаргон QA 😄
Aleksei
субъективно)
Aleksei
не, звучит классно и солидно)
Aleksei
с таким перед начальством стыдно не будет))
Aleksei
;)
вот буду теперь на стендапах так говорить (когда на самом деле фигней маялся) 😄
Nikita
Главное не сделать сит даун ☺