@reactnative_ru

Страница 400 из 878
Alexander
28.11.2017
11:54:58
чую оптимизации преждевременные
ну у меня один класс Form, и stateless компоненты Input

хотелось бы на уровне Form одним хэндлером всё рулить

по-моему это норм практика, не?

Алексей
28.11.2017
11:56:11
ну и передавай на уровне Form разные хэндлеры

Google
Алексей
28.11.2017
11:56:22
для такой простой задачи че то выдумываешь

Alexander
28.11.2017
11:56:57
типа emailOnFocus(), passwordOnFocus () ?

James
28.11.2017
11:57:58
да я вот поэтому тоже не понимаю, почему не работает( можно вообще как-нибудь смотреть сетевые запросы не через js-дебаггер?

откуда в RN CORS?

Hisoka
28.11.2017
11:58:11
откуда в RN CORS?
cors это СЕРВЕР rn причем ?

откуда в RN CORS?
это просто что бы аякс не пуляли откуда попало

James
28.11.2017
11:58:47
да-да, я понимаю на мобильных приложениях это вообще нет по идее, поэтому ошибка не должна возникать в принципе

Алексей
28.11.2017
11:59:11
воу воу

Kyrylo
28.11.2017
11:59:15
это только для браузеров

James
28.11.2017
11:59:25
как вы тестируете вообще сетевые запросы приложения?

Hisoka
28.11.2017
11:59:31
это только для браузеров
о. Я поумнел. Пасиб

Google
Kyrylo
28.11.2017
11:59:36
воу воу
сорян

как вы тестируете вообще сетевые запросы приложения?
так же как и все осталньое. Через дебаггер

James
28.11.2017
12:01:12
Ну вот если js-дебаггер открывать, то уже, как я понимаю, запросы шлются через браузер

Kyrylo
28.11.2017
12:02:08
нет

приложение отправляет логи в браузер и ты их видишь

а сам запрос делается из приложения

Hisoka
28.11.2017
12:03:13
@iblia не подкинешь про корс в мобилках ?

Roman
28.11.2017
12:04:06
сам реквсет будет идти через браузер если прописать вот такое GLOBAL.XMLHttpRequest = GLOBAL.originalXMLHttpRequest || GLOBAL.XMLHttpRequest;

James
28.11.2017
12:06:39
да, я вот это писал

чтобы делать cors

щас отключил

перезапустил

вот как запрос показывается в network





гет запрос работает при этом, как и раньше

Danil
28.11.2017
12:08:05
Можно как-нибудь все активные фетчи остановить?

Roman
28.11.2017
12:08:48
запусти браузер с disable cors

James
28.11.2017
12:09:51
это спасает когда такой кусочек кода есть XMLHttpRequest = GLOBAL.originalXMLHttpRequest ? GLOBAL.originalXMLHttpRequest : GLOBAL.XMLHttpRequest;

запусти браузер с disable cors

Google
James
28.11.2017
12:09:55
я его щас закомментил

поэтому не помогает

Иван
28.11.2017
12:22:48
Поцаны какой камерой пользуетесь ?
Я перешел на эту https://github.com/wix/react-native-camera-kit

Alexander
28.11.2017
12:38:58
ай, проще инпуты классами делать, со своим локальным стейтом и не лохматить бабушку всякими пробросами пропсов и т.д.

Evgeniy
28.11.2017
13:11:14
Иван
28.11.2017
13:12:31
а чем она отличается?
думаю стоит открыть репозиторий и посмотреть, мне нужна была камена и доступ к галереи, а тут все это реализовано сразу

Evgeniy
28.11.2017
13:13:17
кстати о глюках тут что то говорили, вроде глюки при дебаге - это нормально же, у меня простейшие анимации лагают дико когда включен дебаг, если отключаю дебаг, всё перестаёт глючить , плюс-минус гладко идет, думаю если собрать релизный апк, то будет ещё лучше

Иван
28.11.2017
13:14:27
в релизном гораздо лучше, тут уже много раз обсуждали что дебаг лагает дико, собирайте переодически релизные и тестируйте, так и поймете реальную работу приложения

Evgeniy
28.11.2017
13:14:37
думаю стоит открыть репозиторий и посмотреть, мне нужна была камена и доступ к галереи, а тут все это реализовано сразу
а, ну я понял, там просто функционала побольше (ну мне он слава богу не нужен, я обыной пользуюсь ^_^ )

Alexsandr
28.11.2017
13:15:19
Дебагер реально себя очень сильно криво ведет особено после перехода на ios 11

Denis
28.11.2017
14:30:18
Сейчас бы без дебаггера жить

Danil
28.11.2017
19:00:52
Кто сталкивался с Failed to capture snapshot of input files for task 'bundleReleaseJsAndAssets' property '$1' during up-to-date check. при /gradlew assembleRelease?

Alexey
28.11.2017
23:46:20
Всем привет, столкнулся с такой проблемой: добавил в проект тесты на Jest, все было нормально, все тестировалось, но когда в проекте появился DI через inversify, все классы которые помечены аннотацией @injectable() перестали тестироваться, то есть я в тесте не могу создать экземпляр этих классов, заинжектить в тест тоже не получается. Может кто сталкивался с подобным и знает решение?

Алексей
29.11.2017
06:05:19
я вообще не уверен что realm можно просто завести в таких тестах. там либа такую магию творит что просто ппц, я когда исходники ковырял, так даже и не понял где они инициализируют js для RN. Знаю только что где то в плюсовом коде подсовывают в контекст движка

Алексей
29.11.2017
06:23:50
В global scope JavaScriptCore? Это точно?
там вообще сложно сказать что то точно) по крайней мере я так понял со слов мэйнтейнеров в ишью, когда мне отвечали

Alexander
29.11.2017
08:22:47
Unit testing и RN: как и с чем готовите? Все Jest юзают?

Google
Dima
29.11.2017
08:28:04
да, для юнитов jest, все из коробки работает, зачем напрягаться дополнительно? для e2e detox

я вообще не уверен что realm можно просто завести в таких тестах. там либа такую магию творит что просто ппц, я когда исходники ковырял, так даже и не понял где они инициализируют js для RN. Знаю только что где то в плюсовом коде подсовывают в контекст движка
Realm те еще проблемы дает. В итоге убрал из проекта пока. Интересно кто его использует, какие сценарии использования. Очень много данных и запросы к ним, или реактивность, или что?



нужна прямо веская причина чтобы окунаться в эту магию

Алексей
29.11.2017
08:30:50
Я бы попробовал realm как замену redux стору (сам realm с подами так и не завел)

а sqlite для этого чет не зашел

Dima
29.11.2017
08:31:37
я скорее от обратного иду, зачем вообще база? несколько причин перечислил выше

Алексей
29.11.2017
08:31:59
чтобы не сериализовать для сохранения

Dima
29.11.2017
08:32:20
например могу представить firebase или вот новый этот Amazon Sync для того чтобы убрать всю сложность синхронизаций внутрь, типа пусть за меня делает

чтобы не сериализовать для сохранения
т.е. вариант "много данных" (большой стейт который нельзя на части разбить)

Alexey
29.11.2017
08:33:38
я скорее от обратного иду, зачем вообще база? несколько причин перечислил выше
Ну например данных может не очень много, но бывают сценарии когда в одном объекте заполняется список других объектов, содержащих 7-8 полей и этот список может вырасти где то до 200 элеменнтов, может и больше

Dima
29.11.2017
08:33:40
много данных = скорость сериализации на медленных устройствах не устраивает

Алексей
29.11.2017
08:34:11
Dima
29.11.2017
08:35:06
Ну например данных может не очень много, но бывают сценарии когда в одном объекте заполняется список других объектов, содержащих 7-8 полей и этот список может вырасти где то до 200 элеменнтов, может и больше
будет допустим 200кб, это еще ок. Плюс тут вопрос как персистить глобальный стейт. Он может быть ленивым (список подгружаться по мере скролла), другой вопрос что low level детали всего этого нужно самому делать

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

сейчас делаю экстремальную нагрузку, чтобы посмотреть что будет на старых андроидах когда много сериализации/десериализации, сложных селекторах и т.д.

Alexey
29.11.2017
08:37:42
Да у меня вроде тоже без особых фишек. Я кстати тему про глобальный стейт вообще понять не могу) Читал про Redux, так и не понял его плюсы. В итоге юзаю mobx и для каждого экрана делаю свой MVVM, прекрасно работает и схожесть с нативом и нет заморочек с глобальным стейтом

Может я чего не понимаю и в Redux-е реально есть кайф? Если кто знает, расскажите пожалуйста)

Dima
29.11.2017
08:39:19
mobx тоже наверное норм. Тут скорее про то что легко отследить все изменения стейта в разных частях и договоренность где он меняется. В моем проекте в Realm писалось много где, очень сложно что-то либо менять. Т.к. там достаточно myObject.property = value сделать внутри .write().

Google
Alexey
29.11.2017
08:40:37
Ну просто это глобальное состояние по мне так нарушает SOLID, получается что все знают обо всех, это же вроде не клево)

Dima
29.11.2017
08:40:44
а после того как изменил, нужно еще перерендерить, и нужно всех причастных для этого затронуть, а когда у тебя компонент просто функция от глобального стейта через коннектор, ты спокоен

они не знают, т.к. ты не пишешь globalState.some.nested.key, а используешь селектор условный getMyKey(globalState)

и так же не могут globalState.some.nested.key = 123 сделать, только вызывать экшен "измени-ка". В Realm большой соблазн на месте и поменять

Alexey
29.11.2017
08:43:27
Ну все же Realm это база. То есть если надо сохранить данные надолго (после перезагрузки приложения) то стэйт уже не подойдет

И вообще реалм у меня играет только роль хранилища

Узнать бы как его еще тестировать можно, если вообще можо)

Алексей
29.11.2017
08:44:48
Ну просто это глобальное состояние по мне так нарушает SOLID, получается что все знают обо всех, это же вроде не клево)
просто надо стейт рассматривать не как сущность, а как интерфейс, там же просто pojo, тупо данные, нигде ниче не нарушается

Alexey
29.11.2017
08:47:31
А кто нибудь пишет код в RN с закосом под Clean Architecture?

Алексей
29.11.2017
08:49:32
я кстати так и не понял что конкретно под clean architecture понимают, много читал но так и не понял)

Alexey
29.11.2017
08:53:25
Ну разделение на слои (представление - юзкейсы - бизнесс логика, вроде так). Попытка абстрагировать слои различного уровня друг от друга. Допустим слой бизнесс логики сделать таким, чтобы он был полностью unit тестируемым. Убрать зависимость от выбранного способа хранения данны, от вида базы, ну и так далее

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

Dima
29.11.2017
08:55:15
Ну все же Realm это база. То есть если надо сохранить данные надолго (после перезагрузки приложения) то стэйт уже не подойдет
AsyncStorage сериализуется в файл, просто и понятно. Так что если стейт простой и небольшой, то можно убрать значительный оверхед на размер бинарников (а на андроиде еще и dex). Для 99% приложений хватает.

Алексей
29.11.2017
08:55:27
ну я всегда так делаю, у меня экшены в редаксе только сервисы и дергают где вся БЛ уже

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