Лично я бы посчитал плохой практикой № 2 с точки зрения rxjs
- я прав? Какой из способов ниже предпочтительнее с точки зрения производительности и почему?
source$.pipe(
map(s => s.someKey)
).subscribe(someValue => {
workWithData(someValue)
})
Или
source$.subscribe(({someValue}) => {
workWithData(someValue)
})
1 ответ
Я не думаю, что производительность является главным вопросом здесь, это больше касается вашего намерения. Второй лучше, потому что вы вызываете меньше функций.
Если вы планируете использовать отображенный наблюдаемый поток в других частях вашего приложения, вы должны использовать первый, например:
const sourceKeys$ = source$.pipe(
map(s => s.someKey)
);
sourceKeys.subscribe(someValue => {
workWithData(someValue)
})
Если вам не нужен sourceKeys$
в качестве наблюдаемого, вы можете выполнять все побочные эффекты и операции с данными в блоке subscribe
.
Похожие вопросы
Новые вопросы
rxjs
Библиотека JavaScript, которая использует наблюдаемые объекты для работы с реактивным программированием, которое имеет дело с асинхронными вызовами данных, обратными вызовами и программами на основе событий.
useSelector
из Redux не рекомендует вытягивать все состояние, а затем деструктурировать - вместо этого рекомендуется отображать его.