👉🏻 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.
Saturday, January 10, 2026 Bob Weir is gone . # Today's song: Playing in the Band . # What's happening with ICE is like January 6 four years later with billions of dollars behind it and many months of planning and studying history for prior art. # As I listened to the mayor of Minneapolis speak I thought he was going say "get the fuck out of Minneapolis" but of course he couldn't say that and then he said it. # I'm doing little demos of stuff I'm working on in WordLand, here's a narrated demo that shows how instant updates are going. As often the recording level is too low, so turn up the volume if you want to hear the comments. A productive Saturday session. # John Johnston , a longtime friend of UserLand and my newer products, asks how WordLand connects with FeedLand. Two ways. 1. FeedLand has an API, still working on it, but it will be public. 2. FeedLand has an outbound websockets interface , which is already public,...
Saturday, April 5, 2025 I finally looked at my nest egg and was shocked to see the new number. Even worse that the dollars in the account will buy even less as the US dollar loses its value as the flight to safety currency. It's not a big surprise as the US behaves like a drunk Dunning-Kruger deluded schoolyard bully. What is amazing, if you think about it, is that we aren't having an emergency impeachment and trial to get him out of there. That could actually restore a bit of confidence of the outside world, showing that the power in the US is more with the people than it has been for a long time. Maybe our would-be overlords are scared too at what their idea has unleashed. Even if Trump weren't so inept, eventually whoever you choose as the monarch, they're going to behave like this. Inevitable. We could have a revolution right now, fix this, and set the country on the right course. We could do it. I believe we could. # And btw it could be worse ....
评论
发表评论