Armen
Иван
Они ж не обязаны обновляться синхронно
Armen
Armen
Сказал что версия не та, обновите компиллер
Anonymous
Слушайте а компонент фильтра не должен же сам стейт менять?
Armen
Конечно
Иван
Anonymous
В идеале он евент кидать должен?
Иван
Ну, видимо вы очень вовремя апдейтнулись
Armen
Я апдейтнулся как раз после)
Иван
Между тем как выложили вью и вью компилер
Armen
Вью тоже вчера обновился
Armen
Я ждал там одну фичу
Armen
https://github.com/vuejs/vue/pull/7583
Armen
Целый месяц
Armen
Даже больше
Armen
Anonymous
Armen
Ну какой эмит
Armen
Что ты эмитить хочешь?
Anonymous
Фильтр
Anonymous
Фильтр же может быть где угодно
Anonymous
Может быть фильтр новостей, товаров..
Armen
Ну у тебя всё в одном стейте?
Anonymous
Да
Armen
Т.е. есть в стейте список объектов, которые могут быть новостями, товарами ...?
Anonymous
Не ну в разных массивах же
Armen
Ну тогда запили поля в стейте:
filters: {
news: ...,
products: ...
}
Armen
А в геттерах на основе этих фильтров фильтруй массивы
Armen
И тогда чтобы изменить фильтр - надо просто изменить это значение через мутацию
Anonymous
Ну да так я и хотел
Anonymous
Но интересно как лучше сделать сам компонент фильтра
Anonymous
Это разные компоненты будут?
Anonymous
Для двух разных фильтра
Armen
Ну это зависит от того какая у тебя структура компонентов
Anonymous
А вообще может ли фильтр менять сам стейт?
Anonymous
Правильно ли это
Иван
Ну да
Иван
Через мутацию
Иван
Как иначе-то? Больше некому стейт менять
Иван
Не напрямую, конечно, лезть туда лапами, а нежненько, мутации коммитить
Иван
Или экшены диспатчить
Anonymous
А смотри.. допустим у меня есть 2 компонента.. список новостей и сама новость.. новость можно лайкнуть. Новость тоже может стейт поменять?
Anonymous
Или лучше все же это должен сделать родительский компонент?
Иван
commit('LIKE_ARTICLE', this.id)
Armen
+
Anonymous
Да это ясно
Иван
Логично что б сама новость
Armen
Вернее, dispatch, т.к. там скорее всего надо запрос будет пилить
Anonymous
Просто думаю не запутанно ли получится если каждый компонент будет стейт менять
Иван
Список новостей должен обрабатывать действия, относящиеся к коллекции
Иван
Добавить, удалить, отфильтровать там
Иван
Нет, поверь
Иван
В реакте-редаксе есть разделение на компоненты и контейнеры
Anonymous
Ок спс
Anonymous
Иван
Типа, компоненты чисто рендерят пропсы, а контейнеры забирают данные со стейта, передают их в пропсы компонентам и как-то меняют стейт
Иван
Ага
Иван
Так вот, хуйня все это ><
Anonymous
Еще подскажите где лучше обрабатывать ошибки
Armen
Желательно в коде
Anonymous
Допустим лайкнуть не получилось..
Иван
В экшонах
Иван
Экшон лезет в апи и на основании ответа изменяет стейт
Anonymous
Аа вот еще что.. можно ли комит откатить
Иван
Нет
Anonymous
Допустим я лайкнул, закомитил стейт
Armen
А зачем?
Иван
Самому только как-то извращаться немного
Иван
Смотри, в доке вьюкса даже пример есть
Anonymous
Отправил запрос, но на сервере что то не полуяилось
Anonymous
Я бы откатил этот лайкнуть в стейте
Armen
Ну ты можешь запилить UNLIKE_ARTICLE
Armen
Хотя не
Anonymous
Ну эт да, но это простой пример
Иван
Armen
Во, норм
Иван
https://vuex.vuejs.org/en/actions.html