From c4830dcf3a7bad6f1c90b453b012712ea1e40908 Mon Sep 17 00:00:00 2001 From: syuilo <Syuilotan@yahoo.co.jp> Date: Sat, 6 Aug 2022 19:20:53 +0900 Subject: [PATCH] perf(client): use shallowRef as possible --- packages/client/src/components/analog-clock.vue | 9 +++++---- packages/client/src/components/global/time.vue | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/packages/client/src/components/analog-clock.vue b/packages/client/src/components/analog-clock.vue index 170dbb36fa..e960926a15 100644 --- a/packages/client/src/components/analog-clock.vue +++ b/packages/client/src/components/analog-clock.vue @@ -59,7 +59,7 @@ </template> <script lang="ts" setup> -import { ref, computed, onMounted, onBeforeUnmount } from 'vue'; +import { ref, computed, onMounted, onBeforeUnmount, shallowRef } from 'vue'; import tinycolor from 'tinycolor2'; import { globalEvents } from '@/events.js'; @@ -112,7 +112,7 @@ const texts = computed(() => { return angles; }); -const now = ref(new Date()); +const now = shallowRef(new Date()); now.value.setMinutes(now.value.getMinutes() + (new Date().getTimezoneOffset() + props.offset)); const enabled = ref(true); @@ -130,8 +130,9 @@ const mAngle = computed(() => Math.PI * (m.value + s.value / 60) / 30); const sAngle = computed(() => Math.PI * s.value / 30); function tick() { - now.value = new Date(); - now.value.setMinutes(now.value.getMinutes() + (new Date().getTimezoneOffset() + props.offset)); + const date = new Date(); + date.setMinutes(now.value.getMinutes() + (new Date().getTimezoneOffset() + props.offset)); + now.value = date; } function calcColors() { diff --git a/packages/client/src/components/global/time.vue b/packages/client/src/components/global/time.vue index 801490225b..f72b153f56 100644 --- a/packages/client/src/components/global/time.vue +++ b/packages/client/src/components/global/time.vue @@ -20,7 +20,7 @@ const props = withDefaults(defineProps<{ const _time = typeof props.time === 'string' ? new Date(props.time) : props.time; const absolute = _time.toLocaleString(); -let now = $ref(new Date()); +let now = $shallowRef(new Date()); const relative = $computed(() => { const ago = (now.getTime() - _time.getTime()) / 1000/*ms*/; return ( -- GitLab