Понимание возможностей ngrx/data
Я пытаюсь познакомиться с ngrx/data, но не уверен в его возможностях. Я прочитал документацию и несколько руководств, но все еще остается много вопросов:
ngrx/data предлагает методы для функциональности CRUD. Но как насчет дополнительных запросов, не связанных с CRUD? Можно ли расширить ngrx/data для запросов, отличных от CRUD (например, запроса входа в систему или чего-то еще), и реализовать для этого собственные действия, редукторы и эффекты? Какая часть ngrx/data должна быть расширена? EntityAction? EntityCollectionService? EntityCollectionReducer? Документация по этим вещам немного сбивает с толку, и я действительно не понимаю, как все эти части работают вместе. Может быть, кто-то сможет прояснить это и предоставить образец кода.
В моем проекте Angular я использую "традиционный" шаблон store / actions / redurs / effects. Иногда эффект срабатывает при нескольких действиях (например, успешное действие обновления вызывает повторное чтение с сервера). Можно ли добиться такого же поведения с помощью ngrx/data?
Можно ли использовать ngrx/data и "традиционный" шаблон хранилища вместе в одних и тех же объектах хранилища? ngrx/data для операций CRUD и store / actions / reducers / effects для операций, отличных от CRUD?
Некоторые подсказки и мысли были бы полезны. Спасибо:)
1 ответ
для входа в систему и других нехороших вещей вы должны использовать обычный
ngrx/store
интерфейс с действиями, редукторами и эффектами.ngrx/data
тот же наборstore/actions/reducers/effects
, вы можете написать эффект, который прослушивает действияngrx/data
и выполняет желаемые побочные эффекты.да, смотрите второй ответ.
ngrx/data
это просто наборstore/actions/reducers/effects
которые обернуты сервисами.