Я немного сомневаюсь в решении, которое мне пришло для очистки части штата.
У меня есть страница под названием "Книги", где я получаю множество книг. Каждый объект книги содержит очень минимальную информацию, необходимую для этой страницы. Когда пользователь нажимает на книгу, они перенаправляются на одну страницу книги, где я получаю полную информацию о книге.
Мое состояние выглядит так:
@State<any>({
name: 'books',
defaults: {
books: [],
selectedBook: null
}
})
Когда пользователь уходит со страницы одной книги, я хотел бы очистить selectedBook
, потому что это странно (по крайней мере, мне) находиться в других частях приложения и все еще иметь selectedBook
укладку вокруг.
Мне было интересно, как этого добиться, и лучшее решение, которое я мог найти, - это отправить действие ClearSelectedBook
от охранника CanDeactivate
на маршруте books/:id
.
Вот демоверсия о StackBlitz .
Это правильный подход, и если нет, то какие еще есть альтернативы?