Size: a a a

Angular - русскоговорящее сообщество

2020 May 21

DT

D_d Tch in Angular - русскоговорящее сообщество
и почему то когда диспатчу экшен эффект выполнятеся бесконечно
источник

DT

D_d Tch in Angular - русскоговорящее сообщество
в чем может быть проблема?
источник

Вキ

Вертихвост キバ 🏡🦊... in Angular - русскоговорящее сообщество
D_d Tch
Народ привет. вопрос возник. очень странное поведение в ngrx один из экшенов вызывается рекурсивно.

есть actions

export const GetBookedTimeSlotsForBike = createAction(
 '[Booking] Get booked time slots'
);

export const SetBookedTimeSlotsForBike = createAction(
 '[Booking] Get booked time slots',
 props<{bookedSlots: TimeSlotModel[]}>()
);


к нему effect

getBookedTimeSlotsForBike$ = createEffect(() =>
   this.actions$.pipe(
     ofType(BookingActions.GetBookedTimeSlotsForBike),
     withLatestFrom(this.store.select(selectBookingBikeId)),
     switchMap(([action, bikeId]) => this.riderService.getReservedTimeSlotsForBike(bikeId)
       .pipe(
         map((slots: TimeSlotModel[]) => BookingActions.SetBookedTimeSlotsForBike({bookedSlots: slots})),
         catchError(err => this.handleError(err))
       )
     )
   )
 );


в reducer выполняется следующее действие

on(BookingActions.SetBookedTimeSlotsForBike,
   (state, {bookedSlots}) => ({...state, bookedSlots})
 )
В обоих случаях написано Get booked
источник

DT

D_d Tch in Angular - русскоговорящее сообщество
да ладно - будь я проклят
источник

DT

D_d Tch in Angular - русскоговорящее сообщество
жесть. с ночи вчеращней сижу уже нервы сдавали. не думал что текст влияет так
источник

DT

D_d Tch in Angular - русскоговорящее сообщество
@thekiba огромное спасибо, низкий поклон
источник

D

Dmitry in Angular - русскоговорящее сообщество
Всем привет. Друзья, дайте пищу для размышлений чтобы понять почему вот такой вариант отправки actions в ngrx работает?

this.store$.pipe(
   select(something),
   map((stateSlice) => new SomeAction(stateSlice))
).subscribe(this.store$);
источник

OS

Oleg Safonov in Angular - русскоговорящее сообщество
.subscribe(this.store$);
А что это за конструкция?
источник

VB

Vlad Bondar in Angular - русскоговорящее сообщество
store$ функция возвращающая обзервабл наверное
источник

VB

Vlad Bondar in Angular - русскоговорящее сообщество
не работающая с контекстом
источник

OS

Oleg Safonov in Angular - русскоговорящее сообщество
Vlad Bondar
store$ функция возвращающая обзервабл наверное
и что мы с ней делаем?

```
.subscribe(this.store$);
 == 
.subscribe(action => this.store$(action));
```?
источник

OS

Oleg Safonov in Angular - русскоговорящее сообщество
Или нет?
источник

VB

Vlad Bondar in Angular - русскоговорящее сообщество
да но потеряешь this
источник

VB

Vlad Bondar in Angular - русскоговорящее сообщество
ну я так думаю)00
=== если this.store$(action).bind(this)
источник

OS

Oleg Safonov in Angular - русскоговорящее сообщество
Vlad Bondar
да но потеряешь this
Я к тому что, как можно вообще вызвать store$? Это ж не функция
источник

VB

Vlad Bondar in Angular - русскоговорящее сообщество
.subscribe(console.log) часто делаю
источник

OS

Oleg Safonov in Angular - русскоговорящее сообщество
Vlad Bondar
.subscribe(console.log) часто делаю
Потому что console.log - это функция
источник

L

Let me take you into... in Angular - русскоговорящее сообщество
Vlad Bondar
.subscribe(console.log) часто делаю
лог это функция
источник

L

Let me take you into... in Angular - русскоговорящее сообщество
Dmitry
Всем привет. Друзья, дайте пищу для размышлений чтобы понять почему вот такой вариант отправки actions в ngrx работает?

this.store$.pipe(
   select(something),
   map((stateSlice) => new SomeAction(stateSlice))
).subscribe(this.store$);
А где вы такой пример нашли?)
источник

VB

Vlad Bondar in Angular - русскоговорящее сообщество
а там стор я чет думал там кастомная переменная
источник