
khades
23.09.2018
06:49:57
есть ли способ взять данные из редакс-стора и опционально триггернуть экшн? (redux+saga)
https://github.com/khades/servbot-react-frontend/tree/master/ts/channelName

Dmitry
23.09.2018
06:54:25
А кто-нить пользуется https://github.com/jfairbank/redux-saga-test-plan для тестирования саг?

khades
23.09.2018
07:04:12
выглядит интересно

Google

Max
23.09.2018
07:33:55

khades
23.09.2018
07:34:09
если их там нету - сделать экшн

Max
23.09.2018
07:34:51

khades
23.09.2018
07:35:46
и что мешает?
ни малейшего понятия как сделать, вижу MapStateToProps и MapDispatchToProps
а надо сделать и то и то сразу

Dmitry
23.09.2018
07:36:23
Я использую expectSaga, но часто проскальзывают косяки, когда забываю замокать какой-нить вызов api и потом в тесте Connection refused to localhost:80

Max
23.09.2018
07:37:20

khades
23.09.2018
07:37:44

Max
23.09.2018
07:37:59

khades
23.09.2018
07:38:04
ток ещё с локализацией надо подружить

Google

Max
23.09.2018
07:38:29
однако, я не совсем понимаю задачу, обычно если данных нет - рисуют какой-то прелоадер или что-либо еще, и запрашиваю их
локализация тоже никак не пересекается с проблемой, берите и делайте (кэп), я использую react-intl

khades
23.09.2018
07:39:26
нет, мне надо из шаблона локализации подставлять результат резолва данных по айдишнику

Max
23.09.2018
07:39:40

khades
23.09.2018
07:39:42
userID -> userName

Max
23.09.2018
07:41:04
khades я, в общем, тут не вижу ни проблемы, ни вопроса =) поэтому делайте, все выглядит стандартно.

Dmitry
23.09.2018
07:43:07
Там момент — что тестирование порядка эффектов — по мне это слишком низкоуровнево и хрупко. При любом изменении саги придётся менять тесты. Тогда уж проще через snapshot'ы.
http://redux-saga-test-plan.jeremyfairbank.com/integration-testing/snapshot-testing.html

khades
23.09.2018
07:52:25

Dmitry
23.09.2018
07:53:06
что значит "напрямую нельзя"?..

Max
23.09.2018
07:53:15

khades
23.09.2018
07:53:44

Dmitry
23.09.2018
07:54:12
это всё так расплывчато, непонятно что именно хочется добиться

khades
23.09.2018
07:54:59
есть внешний сервис, где хранится соответствие userID -> username, надо подтягивать эти username налету складывая в стор

Dmitry
23.09.2018
07:57:30
ну, как вариант, — в componentDidMount отправляется action, сага её перехватывает, проверят, что пользователь загружен, если нет — загружает

khades
23.09.2018
07:58:09
уже сделол

Duego
23.09.2018
08:32:18

khades
23.09.2018
08:42:23
скроллить на якорь?

Vitaly
23.09.2018
09:29:11

Google

Vitaly
23.09.2018
09:29:40
Если я не забыл принцип действия виртуал скроллов
Вернее даже не так, элементы теже, только данные в них другие

Duego
23.09.2018
09:31:46

Andrew
23.09.2018
09:40:34
Кстати рили хорошая задачка

Vitaly
23.09.2018
09:41:23
Ну насколько я помню, я ловил такой же баг пробуя несколько разных либ, проблема именно при добавлении элементов сверху. Чисто теоретически, в если в либе нет нормального апи для решения проблемы, можно пробовать отменять скролл preventDefault, то есть слушать скролл у контейнера, и каким то образом отлавливать событие подгрузки элементов, тип массив увеличился в размере
Это попахивает костылем жутким, но можно подумать в этом направлении

mihail
23.09.2018
09:43:07
что-то не пойму в чем проблема
объяснит кто в 2 словах в чем суть ?
может я рожу что-то полезное

Vitaly
23.09.2018
09:44:07
Где то выше была проблема описана, ща поищу )

Andrew
23.09.2018
09:45:56

Andrew
23.09.2018
09:46:07
ну т.е. если библиотека этого не позволяет — расширь ее.

Vitaly
23.09.2018
09:54:17
Ну кстати, если скролл ту индекс бросает элемент к низу, то в теории ручками дописать скролл ту на высоту экрана, но в любом случае, по идее, ручками себя придется отскроливать

Duego
23.09.2018
09:56:18

Andrew
23.09.2018
09:57:07

Duego
23.09.2018
10:03:24

Andrew
23.09.2018
10:03:44
Ну так если говоришь больше того места нет, то это куда?
И почему последнее видимое сообщение пропадает? Что за странная логика

Duego
23.09.2018
10:04:43

Google

Andrew
23.09.2018
10:05:14
Ох ешки
Ну тогда без меня
Может просто при подгрузке новых класть их в память, а не рисовать?
Тогда и обратно не надо будет скроллить

Admin
ERROR: S client not available

Duego
23.09.2018
10:13:29

Vitaly
23.09.2018
10:24:16

Hrant
23.09.2018
10:57:28

Artem
23.09.2018
11:03:26
в твоем коде не происходит абсолютно ничего)

khades
23.09.2018
11:04:24
не, просиходит, но результат никуда не сохраняется

Hrant
23.09.2018
11:05:14
ребят я смотрю туториал и у меня вопрос я не помнимаю [type] что он делает этим и я смотрю он стайт меняет не имутабельно

khades
23.09.2018
11:06:08
стейт ту вобще не меняется

Kos
23.09.2018
11:06:10
стейт вообще не менятся

Vladimir
23.09.2018
11:06:41
Всем привет. Делаю довольно простой список, идея такая
Главный компонент с функцией получения данных с сервера ассинхронно. И две функции под отправку изменений на сервер.
Дочерний компонент тупой и просто отборажает данные пришедшие с сервера, вызывает те самые функции родителя по изменению данных, но из за ассихнонки, не всегда перерисовывается. Как мне его заставить ожидать новых данных а только потом перерисовывать тут уже DidMount не работает.

khades
23.09.2018
11:08:32
потому что список VM у тебя получается до отработки startVM
или нет

Vladimir
23.09.2018
11:10:09
Ну на самом деле список получаю первый раз в componentDidMount
а как на изменение правильно это сделать хз

khades
23.09.2018
11:11:02
ну по идее если у тебя после окончания создания элемента не возращается чего либо с сервера - никак
кроме вебсокета какогонить

Google

khades
23.09.2018
11:11:20
чтоб там уже были сообщения о создании элемента

Vladimir
23.09.2018
11:12:59
ответ то в любом случае приходит, что "wm started"

Duego
23.09.2018
11:13:12
6 строк кода, чтоб проинкрементить число

khades
23.09.2018
11:13:26
и стейт не обновить
если да, и там промис - переполучение данных в .then

Vladimir
23.09.2018
11:19:35

khades
23.09.2018
11:19:54
ну получается что у тебя создание виртулаки идёт ПАРАЛЕЛЬНО с запросом инфы с сервера
так что stopVM(somethingsomething).then(()=> this.getVmList)
тогда будет гарантироваться что получение списка будет строго после запроса на создание и остановку

Vladimir
23.09.2018
11:21:00
аааааааа все понял
точно же)
спасибо)

khades
23.09.2018
11:22:18
@WeslyG только зачем оборачивать аксиос в промис если он и так сам промис?