@reactnative_ru

Страница 271 из 878
Egor
11.08.2017
11:18:39
говорю же, я сейчас четко разделяю: в сагах у меня работа с side effects (api, device, и т.п. что не относится к внутреннему состоянию приложения и меняется не из-за ввода пользователя), а где логика изменения состояния приложения

можно убрать thunk и всё на сагах сделать

Сергей
11.08.2017
11:20:08
Egor
11.08.2017
11:20:24
вот, сколько людей, столько мнений

Google
Egor
11.08.2017
11:20:28
почему?

Vladimir
11.08.2017
11:49:17
Потому что можешь делать, как хочешь, все равно работать будет

Если руки прямые. И не будет - если кривые

Кирилл
11.08.2017
11:52:33
у меня на каждый поток данных три типа ERROR isFetching и Success

Egor
11.08.2017
11:52:50
сначала одно спросили а теперь всё не так выходит

Кирилл
11.08.2017
11:53:12
тк это два разных случая, зачем их сравнимвать

первое - не обязательно про редукс

это - а, б - блокировать можно не просто кнопку а метод обновления, вы привели пример где два разных действия ведут к одному методу, который диспатчит экшн, и в примере у вас блокировка на кнопке

Google
Кирилл
11.08.2017
11:54:38
а нужно на методе

-> пример искусствено ухудшен, чтобы показать преимущество

Egor
11.08.2017
11:59:35
вот и поговорили

Кирилл
11.08.2017
12:00:54
не ну я счетаю что таки разговори даже полезны, например в данном случае я не открыл для себя чего-то но бывает что и открываю и перенимаю какую-то логику потому что она лучше

Egor
11.08.2017
12:00:55
вы сами начали с вопроса "как заблокировать кнопку чтобы приложение не упало от того что ее много раз нажимают"

Кирилл
11.08.2017
12:01:31
да, но про редукс то вопрос не стоял

редукс был одним из возможных решений этой проблеммы

Egor
11.08.2017
12:03:10
считаю просто что redux в RN приложении must have поэтому вся дискуссия свелась в этот контекст

Кирилл
11.08.2017
12:04:14
я тоже так счетаю, но нчитаю что не все действия целесообразно выполнять через него, только потому что он есть

Egor
11.08.2017
12:06:53
тут нет простора для мнения - если вы пишите приложение и в нем используется redux - то всё должно быть в redux, это его суть и только тогда от него есть реальная польза

Marat
11.08.2017
12:10:58
https://t.me/uxgifs

Egor
11.08.2017
12:11:21
просто чтоб не быть голословным, если кто не в курсе https://en.wikipedia.org/wiki/Single_source_of_truth

Vladimir
11.08.2017
12:13:08
SSOT не имеет отношения к разделению ответственности между стейтом и редуксом

этот принцип говорит, что у каждого значения модели должно быть одно место, где оно определяется и лежит

но не говорит о том. что все эти значения должны быть в одном месте, грубо говоря

то есть если признак открытого дропдауна лежит в стейте, то он должен лежать только в стейте

SSOT нарушается, если мы кладем что-то И в стейт, И в редукс

или например держим одно и то же значение в разных полях стора

Egor
11.08.2017
12:20:42
воля ваша

Google
Egor
11.08.2017
12:21:49
это хорошо, когда к internal state компонента можно пробиться извне или оно никому не нужно, но по мере развития приложения и усложнения его логики предпочтительнее хранить всё в redux

Vladimir
11.08.2017
12:26:11
предпочтительнее => я предпочитаю и будет классно сказано:)

morda
11.08.2017
12:33:16
вот в кассу вам

что предпочтительнее (что предпочитаете)

передать параметры экрану через props.state навигатора или через редакс?)

ну допустим айдишник выбранной записи для детэйлс-экрана?

Алексей
11.08.2017
12:38:23
считаю просто что redux в RN приложении must have поэтому вся дискуссия свелась в этот контекст
позволю не согласится ?не все на js пишут RN приложения ?да и в js необязательно

Alex
11.08.2017
12:46:04
первое, ибо в этом кейсе проще)
так же делаю, пробовал через редакс и пару раз наблюдал небольше лаги при транзишине

Алексей
11.08.2017
12:46:39
в принципе можно конечно, если навигейшеном управлять через редакс, тогда не будет лагов

Egor
11.08.2017
12:47:07
Алексей
11.08.2017
12:47:25
да вообще любой compile to js язык берешь и все)

Alex
11.08.2017
12:48:14
в принципе можно конечно, если навигейшеном управлять через редакс, тогда не будет лагов
я тогда пробовал подгружать некоторые данные из АПИ до того как откроется экран )

Egor
11.08.2017
12:50:20
Алексей
11.08.2017
12:50:38
я например)

Alex
11.08.2017
12:51:29
бывает нет необходимости

Egor
11.08.2017
12:51:49
видимо я слишком зашоренный

Google
Алексей
11.08.2017
12:52:45
я вообще никакого выхлопа для себя не заметил от подключения навигатора к redux и ему подобным

Alex
11.08.2017
12:54:20
у меня сейчас в нав редьюсере написана страшная штука которая не дает сделать двойную навигацию, когда быстро тыкаешь

Egor
11.08.2017
12:54:40
что-то я не понимаю

это же избавляет от работы с навигатором напрямую

пишешь редюсер, в нем обрабатываешь действия

case OPEN_PROFILE: ... меняешь стейт навигатора

в итоге визуальный компонент - навигатор - всегда в понятном состоянии

Алексей
11.08.2017
12:56:33
да он итак всегда понятен имхо

Egor
11.08.2017
12:57:14
пока юзер 10 раз в секунду кнопки не начнет нажимать которые сами себя не блочат ?

Egor
11.08.2017
12:58:25
описать?

Алексей
11.08.2017
12:58:38
конечно)

Egor
11.08.2017
12:59:07
дак вот есть у тебя список юзеров, по тапу открывает профиль, ну и пушится в стек экран профиля

Alex
11.08.2017
12:59:09
я завел себе не сколько хелперов аля navigateTo, resetTo, navigateBack и в редких случаях юзаю диспатч с кастомным экшином

Egor
11.08.2017
13:00:19
инстанцируется 10 экранов и положатся в стопку, не может такого быть?

Алексей
11.08.2017
13:00:40
как?) если он сразу уходит на другой скрин

Egor
11.08.2017
13:02:07
ну где-то 250 мс на анимации у юзера же есть?

Алексей
11.08.2017
13:02:46
да ниче он не успеет нажать, его сразу на другой экран бросит

Egor
11.08.2017
13:02:59
ладно, это слишком абстрактный пример, много зависит от реализации компонентов

Google
Egor
11.08.2017
13:03:09
я успевал, но то про нативщину речь...

Alex
11.08.2017
13:03:48
да ниче он не успеет нажать, его сразу на другой экран бросит
два раза успеет тапнуть и правалится два раза на один и то же экран

Alex
11.08.2017
13:04:30
не верю ?
серьезно говорю ) я вот это фиксил совсем не давно

даже issue есть

Алексей
11.08.2017
13:06:03
это видимо просто баг) в ios же presentViewController точь в точь тоже самое делает

morda
11.08.2017
13:07:52
MissingWebViewPackageException: Failed to load WebView provider: No WebView installed

это че?

ведро без браузера?

Алексей
11.08.2017
13:09:25
MissingWebViewPackageException: Failed to load WebView provider: No WebView installed
https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/webkit/WebViewFactory.java#112

morda
11.08.2017
13:14:10
android.webkit.WebViewFactory in getProviderClass at line 371 android.webkit.WebViewFactory in getProvider at line 194 android.webkit.CookieManager in getInstance at line 39 com.facebook.react.modules.network.ForwardingCookieHandler in getCookieManager at line 158 com.facebook.react.modules.network.ForwardingCookieHandler in get at line 56 okhttp3.JavaNetCookieJar in loadForRequest at line 59 com.facebook.react.modules.network.ReactCookieJarContainer in loadForRequest at line 40 okhttp3.internal.http.BridgeInterceptor in intercept at line 84 okhttp3.internal.http.RealInterceptorChain in proceed at line 92 okhttp3.internal.http.RetryAndFollowUpInterceptor in intercept at line 120 okhttp3.internal.http.RealInterceptorChain in proceed at line 92 okhttp3.internal.http.RealInterceptorChain in proceed at line 67 okhttp3.RealCall in getResponseWithInterceptorChain at line 179 okhttp3.RealCall$AsyncCall in execute at line 129 okhttp3.internal.NamedRunnable in run at line 32 java.util.concurrent.ThreadPoolExecutor in runWorker at line 1133 java.util.concurrent.ThreadPoolExecutor$Worker in run at line 607 java.lang.Thread in run at line 761

при запросе сетевом чтоль?

Алексей
11.08.2017
13:16:04
нет, не похоже. запрос при открытии у тебя так и так будет

Brown
11.08.2017
13:17:35
android GCM работает или FCM надо использовать?

morda
11.08.2017
13:17:43
okhttp3.RealCall$AsyncCall

android GCM работает или FCM надо использовать?
react-native-fcm и для иос и для вёдер

Brown
11.08.2017
13:19:16
Я уже apns сделал, всве работает

Нужен GCM, он еще есть или это FCM?

morda
11.08.2017
13:20:10
fcm

gcm у тех у кого раньше был остался, новые проекты только с fcm

Страница 271 из 878