Javascript и Vuejs для Laravel 34. Vuex, state, actions, getters, mutations. Show компонент с Vuex

  Рет қаралды 4,117

Laravel Creative

Laravel Creative

Күн бұрын

Пікірлер: 34
@sam_korsh
@sam_korsh Жыл бұрын
реально через чур магическое, прям колдовство какое-то🧙‍♂
@vimitali7630
@vimitali7630 3 жыл бұрын
Спасибо, за продолжение!
@laravelcreative
@laravelcreative 3 жыл бұрын
Благодарю!)
@alexeyguch816
@alexeyguch816 2 жыл бұрын
Благодарю за туториал! =)
@testo5409
@testo5409 Жыл бұрын
Спасибо за курс! 14:50 разве не нужно state прокидывать - person: (state) => state.person
@тв788о-л9ы
@тв788о-л9ы 3 жыл бұрын
В React State как то проще устроен, хотя другие вещи менее прозрачны. Дело вкуса наверное. Спасибо за материал подробный!
@laravelcreative
@laravelcreative 3 жыл бұрын
Да) Благодарю!)
@karlengels4956
@karlengels4956 3 жыл бұрын
ну хз. Там вышел redux-toolkit да, с которым намного проще стало писать, но энивей vuex как-то проще и понятнее. Это мнение чисто начинающего
@igorsss5810
@igorsss5810 Жыл бұрын
это чем еще проще?
@sergeyinshin4924
@sergeyinshin4924 2 жыл бұрын
Если выдает ошибку "TypeError: commit is not a function", решение: const actions = { getPerson(context, id) { axios.get(`/api/people/${id}`) .then( res => { context.commit('setPerson', res.data.data); }) } }
@sergeyinshin4924
@sergeyinshin4924 2 жыл бұрын
в конце выдавало ошибку: person: () => state.person сработало: person: state => state.person
@ЯрославАндроид-й7ч
@ЯрославАндроид-й7ч 2 жыл бұрын
Спасибо, круто
@laravelcreative
@laravelcreative 2 жыл бұрын
Благодарю!)
@alexandr9900
@alexandr9900 2 жыл бұрын
камент для продвижения
@spitzer4077
@spitzer4077 Жыл бұрын
После вчерашнего шока от ознакомления Vuex сегодня всё срослось. Поменялось прежде всего то что PHPStorm начал распознавать синтаксис Vuex при вчерашней (!) настройке, т.е. сразу после установки PHPStorm игнорил Vuex, так же не было вкладки Vuex в расширении Vu Devtools (тоже появилась).. скорее всего надо перезапустить шторм или пк после установки vuex, установил 3.6.2 (руками в package.json пописываем) вместо 4.0.2 которая с руганью ставится общей npm командой установки. Вообще, здесь не мешало бы более подробно установится на казусах установки, и в который раз понимаю что было бы ккууудддааа информативнее изображать такие вот структуры майнкартами, схемами, блоксхемами со стрелками и т.д. что бы в голове сразу рисовалась визуальная структура работы.. Автор сделал акцент что помимо собственно подключения экшнов у vuex есть доп. синтаксис с заклинаниями из хогвардва, было б здорово на них упор сделать.. А так же показать вариант "прямого" выноса в отдельный файл и подключения того же что подключали из vuex на примере Show - сразу будет понятна польза vuex если таковая есть
@laravelcreative
@laravelcreative Жыл бұрын
Благодарю!)
@ПонтелеймонКотлеткин
@ПонтелеймонКотлеткин 10 ай бұрын
Спасибо за совет с 3.2.6 Сделал флагами, чтобы 4-я установилась без ворнингов и интересно, что микс успешно всё собирал при запущенном watch. Но пока не понизил версию, .$store просто не цеплялся в show.vue и соответственно все ломалось в консоли.
@spitzer4077
@spitzer4077 10 ай бұрын
@@ПонтелеймонКотлеткиндело было год назад, уже ничерта не помню шо там было ))))
@ДмитрийПавлейчик
@ДмитрийПавлейчик Жыл бұрын
Добрый день! подскажи, пожалуйста, почему после мутации выдает null? state() { return { person: null, } }, getters: { person: state => { return state.person } }, actions: { getPerson({commit}, id) { axios.get(`/api/people/${id}`) .then(res => { console.log(res.data.data); // получается объект commit('increment', res.data.data) }) }, }, mutations: { increment(state, person) { console.log(state.person); // тут NULL state.person = person } },
@ramazanstudy570
@ramazanstudy570 Жыл бұрын
ты не обернул этот код в объект?
@ramazanstudy570
@ramazanstudy570 Жыл бұрын
и вообще посмотри свой state, там твой person изначально null а console.log(state.person) В inctrement, ты вызываешь до изменения самого Person наверное поэтому он null попробуй так: increment(state, person) { state.person = person console.log(state.person); }
@ramazanstudy570
@ramazanstudy570 Жыл бұрын
import axios from "axios"; export default { state: () => ({ person: {}, }), getters: { person: (state) => state.person, }, mutations: { setPerson(state, person) { state.person = person; }, }, actions: { getPerson({ state, commit, dispatch }, id) { axios.get(`/api/people/${id}`) .then(person => { commit('setPerson', person.data.data) }); }, }, } У меня работает так
@geniygames4620
@geniygames4620 Жыл бұрын
Получилось только с помощью Pinia, непросто для понимания но намного проще чем Vuex
@nieeonliv
@nieeonliv Жыл бұрын
Очень классные курсы! У кого ошибка из за за файла person.js Добавить в конец export default [ state, getters, mutation, actions ];
@laravelcreative
@laravelcreative Жыл бұрын
Благодарю!)
@dmitriivanov7010
@dmitriivanov7010 Жыл бұрын
Обратите внимание, тут должны быть Усатые скобки!!! Не квадратные.
@ВасилийЛомов-п2г
@ВасилийЛомов-п2г 2 жыл бұрын
не знаю, как по мне сильно трудно, ни чего не понятно. хоть и пересмотрел 2 раза(
@laravelcreative
@laravelcreative 2 жыл бұрын
Да ладно) Я тоже не сразу въехал, когда первый раз это учил) Больше упорства!
@ВасилийЛомов-п2г
@ВасилийЛомов-п2г 2 жыл бұрын
@@laravelcreative если честно иду дальше по вашему курсу. Уже смотрю jwt. Просто наверное все новое пугает
@sam_korsh
@sam_korsh Жыл бұрын
у кого ошибка Uncaught (in promise) TypeError: commit is not a function, нужно при передачи commit в getPersone обернуть commit в усатые скобки const actions = { getPerson({commit}, id){ axios.get(`/api/people/${id}`) .then( res => { commit('setPerson', res.data.data) } ) }, }
@BookwormYevgen
@BookwormYevgen 2 жыл бұрын
У кого с конфигурацией vuex из видео не получается : ///////////////////// / index.js: / //////////////////// import { createStore } from 'vuex'; import Person from './modules/person' const store = createStore({ modules: { Person } }) export default store ///////////////////// / app.js: / //////////////////// import store from "./store"; app.use(store)
Sigma Kid Mistake #funny #sigma
00:17
CRAZY GREAPA
Рет қаралды 30 МЛН
It works #beatbox #tiktok
00:34
BeatboxJCOP
Рет қаралды 41 МЛН
Мясо вегана? 🧐 @Whatthefshow
01:01
История одного вокалиста
Рет қаралды 7 МЛН
My scorpion was taken away from me 😢
00:55
TyphoonFast 5
Рет қаралды 2,7 МЛН
Laravel 10 + Vue 3 + Vite | 2023
39:24
AreaWeb
Рет қаралды 29 М.
How I wrote online shooter on C++ in a week
25:31
Vectozavr
Рет қаралды 1 МЛН
Sigma Kid Mistake #funny #sigma
00:17
CRAZY GREAPA
Рет қаралды 30 МЛН