👉🏻 This "Quick Start with Pinia" lesson on Pinia breaks down this powerful Vue state management library, showing you how to efficiently manage data across components.
👉🏻 This library is written using Vue 3 with Composition API, and the components are designed and written in a traditional Vue way possible, with full TypeScript support.
👉🏻 Lightweight and framework independent but offers Vue 2/3, Alpine.js and Svelte integrations.
🔥 Vue Tip: Avoid Side Effects in Computed Properties
It is considered bad practice to introduce side effects inside computed properties and functions because it makes the code unpredictable and hard to understand.
What is a side effect? In the context of computed properties, a side effect is a modification of the state's global state or the internal component state.
Let's take a look at an example with side effects:
1<script setup lang="ts">2import { computed, ref } from 'vue'34const firstName = ref('Michael')5const lastName = ref('Hoffmann')6const array = ref([])78const fullName = computed(() => {9 firstName.value = 'Mike' // side effect10 return `${firstName.value} ${lastName.value}`11})1213const reversedArray = computed(() => array.value.reverse()) // side effect, original array is mutated14</script>
Now let's change the code and remove the side effects:
1<script setup lang="ts">2import { computed, ref } from 'vue'34const firstName = ref('Michael')5const lastName = ref('Hoffmann')6const array = ref([])78const fullName = computed(() => `${firstName.value} ${lastName.value}`)9const reversedArray = computed(() => array.value.slice(0).reverse()) // .slice creates a copy of the array10</script>
Now the code is predictable and easy to understand. The computed properties fullNamefullName and reversedArrayreversedArray only depend on the values of firstNamefirstName, lastNamelastName, and arrayarray. They don't modify the global state or the internal component state.
Weekly Vue News #194 Reactive Time Ago View online Hi 👋 I'm on vacation this week, so no special news from my side — just some fresh Vue & Nuxt content for you! Enjoy this issue and have a lovely week ☀️ Vue 📕 Optimizing heavy operations in Vue with Web Worke...
Weekly Vue News #205 Weekly Vue News #205 - Vue Language Tools 3.0, useSlots, Nuxt Tips & More! View online Hi 👋 I'm back from my vacation and ready to share the latest Vue & Nuxt news with you! Enjoy this issue and have a lovely week ☀️ Vue 📕 What is useSlots in Vue? ...
Hey all! I just finished adding some new design patterns and recording a bunch of new videos for Clean Components Toolkit. I'll be launching this update on June 5th , in two weeks, with a big discount. Of course, if you already own it, you'll see the update soon. I'm adding in three new design patterns, bringing the total up to 21. I've also recorded a bunch of extra "bonus" content. Enjoy your tips for this week! — Michael Vue Tips Collection 2 Maybe you just want to stay on top of the latest features, remind yourself of interesting things Vue can do, and get daily inspiration. Vue Tips Collection is a beautiful book of 118 concise tips, as well as a daily email to get your creative juices flowing. Check out Vue Tips Collection 🔥 Proxy Basics Proxies are one of the strangest but most interesting parts of Javasc...
评论
发表评论