которую я сдериректиль со страницы регистрации ?
Передать стейт при направлении пользователя на нужную страницу
Не вдавался глубоко, но пришла мысль сделать сервис который хранил бы булеву переменную которая отвечала за то что человек только что вошел. Когда мы сделаем редирект на главную страницу то считаем ее и отобразит сообщениие а так же сбросим эту переменную. Какая выгода от ngrx ?
Нет, не надо так
Можно конструктивнее ?
передавать стейт и не морочить себе голову
https://habr.com/ru/post/489758/ Это все нужно знать для этого?
Так какие преимущества даёт ваш подход над моим? Исключая случай когла ответ я получу в redirect на главный компонент не будет сделан через секунду и не будет интерактивности ?
Чуть поскролил. Ваш подход это подход через ngrx против твоего - хранить в сервисе? Правильно понял?
Не надо тащить реактовские штуки в ангуляр. Если уж так нужен тот самый "единый источник правды", то можно хранить свойства в сервисе в BehaviorSubject.
можно. а можно ngrx использовать, что безусловно упростит работу в больших проектах. А можно в сервисах ,как оп выше писал хранить все, а можно в ls все писать. Можно все
Упростит работу - это ещё большой вопрос. Много там неочевидных вещей просходит через кучу прослоек
Если бы не упрощало - не использовали бы. В кривых руках любой инструмент будет во вред, в прямых - все ок. Само собой, если для спашки тип будет 20тыщ модулей накатывать и сторы пилить - ну такое себе, а когда это б2б огромный с 10 разработчиками и тянется год - весьма приятно ngrx заходит. Для маленьких проектов однозначно не нужно.
Сделайте сервис с булем. Берите из него данные во втором компоненте. Либо передавайте булен в урле и читайте от туда.
Почему реактовскую? если уж на то пошло то фейсбуковскую, корни то во flux а не в redux. Не всегда нужен ngrx, в маленьких проектах определенно не нужен, в средних и крупных стоит подумать нужен или нет. Вот тут хорошо разбирает один из контрибьютеров ngrx, когда он нужен, а когда нет https://www.youtube.com/watch?v=omnwu_etHTY
ngrx - это слишком жирно для такой фигни. При редиректе используй: this.router.navigate(['path_to_page'], { state: { foo: true } }); На той странице, где тебе нужен этот параметр, чтобы его получить, используй это this.foo = window.history.state.foo
Бля :) так вот что это за state который был предложен человеком! А я думал что он мне предложил использовать ngrx так как там везде про state разговоры
Я думаю, тогда имелся ввиду именно редакс, ngrx и вот это вот всё. Просто так совпало, что стейт в роутинге так же называется.
Я очень поверхностно за это время познакомился с ngrx но по тому что я понял из него что это честное хранилище для того что бы ценьрализовано хранить данные. Но все равно логика не понятно этого механизма для отображения инфы после логина на другом компоненте как механизма идеального для этого. Ведь получается что мы кладём инфу в store что человек тоьлк что зашёл а на компоненте на который мы делаем redirect достаём из хранилища булево это значение и меняем его на false. Так в чем разница делать это через сервисы? Тоже ведь singtone
Если тебе только одну эту переменную надо передать, то как я уже сказал, использовать ngrx слишком жирно. Проще сервисом или в роутинге.
Да тоько этот функционал. Но меня просто по энтузиатски мучает вопрос почему ngrx лучше сервиса? Пусть даже и избыточно но чем лучше в этом моменте конкретно? Модно?
Я сам не понимаю, зачем его использовать, если всё то же самое можно сделать на сервисах. Код будет проще и понятнее. Я слышал одно мнение, что его используют реактщики, которые пришли в ангуляр, но не смогли в сервисы
Потому что сразу устанавливает правила и снимает вопрос как сделать то-то и то-то. Нужно передать параметр? Добавь в стейт. Нужно реализовать какую-то бизнес логику? Создай эффект. Ну и так далее. Не нужно костылить сервисы, провайдеры, контексты и т.д.
То есть для этого момента только нужно тащить ngrx?
Тащить ngrx (и вообще глобальный стейт) имеет смысл, если у вас есть бизнес-логика: права пользователя, супер-сложные формы, динамически подгружаемые модули и т.д. В других случаях это оверхед и принесет больше неудобств, чем пользы
Спасибо огромное. Сейчас понял все обсолютно
Обсуждают сегодня