shallowReactive

This commit is contained in:
pa
2025-10-31 16:54:33 +09:00
committed by Natsumi
parent 6f29fff5ca
commit 45e1b3001c
3 changed files with 8 additions and 8 deletions
+2 -2
View File
@@ -42,7 +42,7 @@
><div class="bottom-button" @click="directAccessPaste"><i class="ri-compass-3-line"></i></div ><div class="bottom-button" @click="directAccessPaste"><i class="ri-compass-3-line"></i></div
></el-tooltip> ></el-tooltip>
<el-tooltip :content="t('nav_tooltip.settings')" placement="right" <el-tooltip :content="t('nav_tooltip.settings')" placement="right"
><div class="bottom-button" @click="route.push({ name: 'settings' })"> ><div class="bottom-button" @click="router.push({ name: 'settings' })">
<i class="ri-settings-3-line"></i></div <i class="ri-settings-3-line"></i></div
></el-tooltip> ></el-tooltip>
</div> </div>
@@ -60,7 +60,7 @@
import * as Sentry from '@sentry/vue'; import * as Sentry from '@sentry/vue';
const { t } = useI18n(); const { t } = useI18n();
const route = useRouter(); const router = useRouter();
const navItems = [ const navItems = [
{ index: 'feed', icon: 'ri-rss-line', tooltip: 'nav_tooltip.feed' }, { index: 'feed', icon: 'ri-rss-line', tooltip: 'nav_tooltip.feed' },
+4 -4
View File
@@ -1,4 +1,4 @@
import { computed, reactive, ref, watch } from 'vue'; import { computed, reactive, ref, shallowReactive, watch } from 'vue';
import { ElMessage } from 'element-plus'; import { ElMessage } from 'element-plus';
import { defineStore } from 'pinia'; import { defineStore } from 'pinia';
@@ -282,7 +282,7 @@ export const useUserStore = defineStore('User', () => {
notes: new Map() notes: new Map()
}); });
const cachedUsers = new Map(); const cachedUsers = shallowReactive(new Map());
const isLocalUserVrcPlusSupporter = computed( const isLocalUserVrcPlusSupporter = computed(
() => currentUser.value.$isVRCPlus || AppDebug.debugVrcPlus () => currentUser.value.$isVRCPlus || AppDebug.debugVrcPlus
@@ -413,7 +413,7 @@ export const useUserStore = defineStore('User', () => {
delete json.currentAvatarThumbnailImageUrl; delete json.currentAvatarThumbnailImageUrl;
} }
if (typeof ref === 'undefined') { if (typeof ref === 'undefined') {
ref = reactive({ ref = {
ageVerificationStatus: '', ageVerificationStatus: '',
ageVerified: false, ageVerified: false,
allowAvatarCopying: false, allowAvatarCopying: false,
@@ -480,7 +480,7 @@ export const useUserStore = defineStore('User', () => {
$moderations: {}, $moderations: {},
// //
...json ...json
}); };
if (locationStore.lastLocation.playerList.has(json.id)) { if (locationStore.lastLocation.playerList.has(json.id)) {
// update $location_at from instance join time // update $location_at from instance join time
const player = locationStore.lastLocation.playerList.get( const player = locationStore.lastLocation.playerList.get(
+2 -2
View File
@@ -1,4 +1,4 @@
import { reactive, watch } from 'vue'; import { reactive, shallowReactive, watch } from 'vue';
import { ElMessage } from 'element-plus'; import { ElMessage } from 'element-plus';
import { defineStore } from 'pinia'; import { defineStore } from 'pinia';
@@ -53,7 +53,7 @@ export const useWorldStore = defineStore('World', () => {
hasPersistData: false hasPersistData: false
}); });
let cachedWorlds = new Map(); const cachedWorlds = shallowReactive(new Map());
watch( watch(
() => watchState.isLoggedIn, () => watchState.isLoggedIn,