
Недавно перешел с
PolymerJS на
VueJS для некоторых задач. Совместно с
polymer использовал
Redux через библиотеку
polymer-redux. Поэтому вся бизнес-логика уже была сформирована на уровне
redux store. Для связки
vue и
redux выбрал библиотеку
vuedeux. В
awesome vue в разделе
redux представлена еще одна библиотека для связки с redux —
revue, но мне показалось эффективней использовать именно
vuedeux, за счет интеграции
redux store непосредственно в
«свой redux» для
vue —
vuex, для возможного использования его в будущем.
После создание
vuex store, используя плагин
vuedeux доступ к необходимым разделам
redux store может быть осуществлен через
computed свойства экземпляра
vue-компонента. Например, вот так(часть кода
из examples ):
...
computed: {
todos () {
return this.$store.state.redux.todos
},
...
}
...
А
action creators попадают в экземпляр компонента через раздел
data,
например:
new Vue({
...
data: {
reduxActions: actionCreators,
},
...
});
Диспатчить экшены можно, например, так:
methods: {
addTodo () {
this.$store.dispatch(this.$root.reduxActions.addingTodo(text))
},
...
}
Остальные
action creators можно «прокинуть» напрямую в раздел
methods:
methods: {
...mapActions({
toggleAll: 'COMPLETE_ALL',
clearCompleted: 'CLEAR_COMPLETED'
}),
...
}
Читать дальше ->
https://habrahabr.ru/post/336352/