VueX
Этот плагин позволяет захватывать мутации/состояние VueX и просматривать их позже при воспроизведении записей сессий. Это очень полезно для понимания и устранения проблем.
Установка
Section titled Установкаnpm i @openreplay/tracker-vuex
Использование
Section titled ИспользованиеИнициализируйте пакет @openreplay/tracker как обычно и загрузите в него плагин. Затем поместите сгенерированный плагин в поле plugins вашего store.
Если ваш сайт является одностраничным приложением (SPA)
Section titled Если ваш сайт является одностраничным приложением (SPA)import Vuex from 'vuex'
import OpenReplay from '@openreplay/tracker';
import trackerVuex from '@openreplay/tracker-vuex';
//...
const tracker = new OpenReplay({
projectKey: PROJECT_KEY,
// ... options
});
Если ваше веб-приложение рендерится на стороне сервера (SSR)
Section titled Если ваше веб-приложение рендерится на стороне сервера (SSR)Следуйте приведённому ниже примеру, если ваше приложение использует SSR. Убедитесь, что tracker.start() вызывается после запуска приложения (в useEffect или componentDidMount).
Обратитесь к разделу Устранение неполадок, если возникнут ошибки с SSR.
import Vuex from 'vuex'
import OpenReplay from '@openreplay/tracker/cjs';
import trackerVuex from '@openreplay/tracker-vuex/cjs';
//...
const tracker = new OpenReplay({
projectKey: PROJECT_KEY,
// ... options
});
С версией tracker-vuex выше 4.0.0
Section titled С версией tracker-vuex выше 4.0.0// check list of available options below
const vuexPlugin = tracker.use(trackerVuex(<options>));
// add a name to your store, optional (will be randomly generated otherwise)
const storeTracker = vuexPlugin('STORE NAME')
const store = createStore({
state,
mutations,
plugins: [storeTracker]
})
С версией tracker-vuex ниже 3.0.0
Section titled С версией tracker-vuex ниже 3.0.0// check list of available options below
const vuexPlugin = tracker.use(trackerVuex(<options>));
tracker.start();
const store = new Vuex.Store({
//...
plugins: [vuexPlugin],
});
Опции
Section titled ОпцииВы можете настроить поведение плагина с помощью опций для очистки ваших данных. Они аналогичны опциям стандартного плагина createLogger.
trackerVuex({
filter (mutation, state) {
// returns `true` if a mutation should be logged
// `mutation` is a `{ type, payload }`
return mutation.type !== "aBlacklistedMutation";
},
transformer (state) {
// transforms the state before logging it.
// for example return only a specific sub-tree
return state.subTree;
},
mutationTransformer (mutation) {
// mutations are logged in the format of `{ type, payload }`
// we can format it any way we want.
return mutation.type;
},
})
Руководство
Section titled РуководствоЕсли вы ищете практический пример того, как использовать этот плагин для захвата изменений состояния в записях сессий, ознакомьтесь с нашим подробным руководством здесь.
Есть вопросы?
Section titled Есть вопросы?Возникли трудности с настройкой этого плагина? Присоединяйтесь к нашему Slack или загляните на наш Форум и получите помощь от нашего сообщества.