<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Daily Dev Tip</title><description>One atomic developer tip per new tab. Community-curated, contributor-credited.</description><link>https://dailydevtips.mohammededris23.workers.dev/</link><item><title>The stale closure, your debounced callback saves old state</title><link>https://dailydevtips.mohammededris23.workers.dev/react/debounce/</link><guid isPermaLink="true">https://dailydevtips.mohammededris23.workers.dev/react/debounce/</guid><description>react19, debounce, performance, js · by Dhaifallah Ahmed</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>react</category><category>react19</category><category>debounce</category><category>performance</category><category>js</category><author>Dhaifallah Ahmed</author></item><item><title>Unwrap errors type-safely with errors.AsType (Go 1.26)</title><link>https://dailydevtips.mohammededris23.workers.dev/go/errors-astype/</link><guid isPermaLink="true">https://dailydevtips.mohammededris23.workers.dev/go/errors-astype/</guid><description>go1.26, errors, generics, error-handling · by Mohamed Idris</description><pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate><category>go</category><category>go1.26</category><category>errors</category><category>generics</category><category>error-handling</category><author>Mohamed Idris</author></item><item><title>Sandbox filesystem access to a directory with os.Root (Go 1.24)</title><link>https://dailydevtips.mohammededris23.workers.dev/go/os-root-sandbox/</link><guid isPermaLink="true">https://dailydevtips.mohammededris23.workers.dev/go/os-root-sandbox/</guid><description>go1.24, filesystem, security, path-traversal · by Mohamed Idris</description><pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate><category>go</category><category>go1.24</category><category>filesystem</category><category>security</category><category>path-traversal</category><author>Mohamed Idris</author></item><item><title>Write custom iterators with range-over-func (Go 1.23+)</title><link>https://dailydevtips.mohammededris23.workers.dev/go/range-over-func/</link><guid isPermaLink="true">https://dailydevtips.mohammededris23.workers.dev/go/range-over-func/</guid><description>go1.23, iterators, generics, stdlib · by Mohamed Idris</description><pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate><category>go</category><category>go1.23</category><category>iterators</category><category>generics</category><category>stdlib</category><author>Mohamed Idris</author></item><item><title>Use b.Loop() for accurate benchmarks (Go 1.24)</title><link>https://dailydevtips.mohammededris23.workers.dev/go/testing-b-loop/</link><guid isPermaLink="true">https://dailydevtips.mohammededris23.workers.dev/go/testing-b-loop/</guid><description>go1.24, testing, benchmarks, performance · by Mohamed Idris</description><pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate><category>go</category><category>go1.24</category><category>testing</category><category>benchmarks</category><category>performance</category><author>Mohamed Idris</author></item><item><title>Track tool dependencies in go.mod with tool directives (Go 1.24)</title><link>https://dailydevtips.mohammededris23.workers.dev/go/tool-directives/</link><guid isPermaLink="true">https://dailydevtips.mohammededris23.workers.dev/go/tool-directives/</guid><description>go1.24, modules, tooling, dependencies · by Mohamed Idris</description><pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate><category>go</category><category>go1.24</category><category>modules</category><category>tooling</category><category>dependencies</category><author>Mohamed Idris</author></item><item><title>Attach request-scoped metadata with the Context facade so it flows into logs and jobs</title><link>https://dailydevtips.mohammededris23.workers.dev/laravel/context-facade/</link><guid isPermaLink="true">https://dailydevtips.mohammededris23.workers.dev/laravel/context-facade/</guid><description>observability, logging, queues, context · by Mohamed Idris</description><pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate><category>laravel</category><category>observability</category><category>logging</category><category>queues</category><category>context</category><author>Mohamed Idris</author></item><item><title>Turn N+1 queries into errors in development with preventLazyLoading()</title><link>https://dailydevtips.mohammededris23.workers.dev/laravel/prevent-lazy-loading/</link><guid isPermaLink="true">https://dailydevtips.mohammededris23.workers.dev/laravel/prevent-lazy-loading/</guid><description>eloquent, performance, n+1, debugging · by Mohamed Idris</description><pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate><category>laravel</category><category>eloquent</category><category>performance</category><category>n+1</category><category>debugging</category><author>Mohamed Idris</author></item><item><title>Lock down outbound HTTP in tests with preventStrayRequests()</title><link>https://dailydevtips.mohammededris23.workers.dev/laravel/prevent-stray-requests/</link><guid isPermaLink="true">https://dailydevtips.mohammededris23.workers.dev/laravel/prevent-stray-requests/</guid><description>testing, http-client, reliability, ci · by Mohamed Idris</description><pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate><category>laravel</category><category>testing</category><category>http-client</category><category>reliability</category><category>ci</category><author>Mohamed Idris</author></item><item><title>Auto-delete stale records with the Prunable trait instead of a custom command</title><link>https://dailydevtips.mohammededris23.workers.dev/laravel/prunable-models/</link><guid isPermaLink="true">https://dailydevtips.mohammededris23.workers.dev/laravel/prunable-models/</guid><description>eloquent, maintenance, scheduling, database · by Mohamed Idris</description><pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate><category>laravel</category><category>eloquent</category><category>maintenance</category><category>scheduling</category><category>database</category><author>Mohamed Idris</author></item><item><title>Use whenLoaded() in API resources to avoid firing queries during serialization</title><link>https://dailydevtips.mohammededris23.workers.dev/laravel/when-loaded-resources/</link><guid isPermaLink="true">https://dailydevtips.mohammededris23.workers.dev/laravel/when-loaded-resources/</guid><description>eloquent, api-resources, performance, n+1 · by Mohamed Idris</description><pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate><category>laravel</category><category>eloquent</category><category>api-resources</category><category>performance</category><category>n+1</category><author>Mohamed Idris</author></item><item><title>Throw IntrinsicException for expected errors to skip Nest&apos;s auto-logger</title><link>https://dailydevtips.mohammededris23.workers.dev/nest/intrinsic-exception/</link><guid isPermaLink="true">https://dailydevtips.mohammededris23.workers.dev/nest/intrinsic-exception/</guid><description>nestjs11, exceptions, logging, clean-logs · by Mohamed Idris</description><pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate><category>nest</category><category>nestjs11</category><category>exceptions</category><category>logging</category><category>clean-logs</category><author>Mohamed Idris</author></item><item><title>Validate and convert date query params at the boundary with ParseDatePipe</title><link>https://dailydevtips.mohammededris23.workers.dev/nest/parse-date-pipe/</link><guid isPermaLink="true">https://dailydevtips.mohammededris23.workers.dev/nest/parse-date-pipe/</guid><description>nestjs11, pipes, validation, dates · by Mohamed Idris</description><pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate><category>nest</category><category>nestjs11</category><category>pipes</category><category>validation</category><category>dates</category><author>Mohamed Idris</author></item><item><title>Skip the HTTP layer for workers and CLI with createApplicationContext()</title><link>https://dailydevtips.mohammededris23.workers.dev/nest/standalone-context/</link><guid isPermaLink="true">https://dailydevtips.mohammededris23.workers.dev/nest/standalone-context/</guid><description>nestjs, workers, cli, dependency-injection · by Mohamed Idris</description><pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate><category>nest</category><category>nestjs</category><category>workers</category><category>cli</category><category>dependency-injection</category><author>Mohamed Idris</author></item><item><title>Keep the SWC builder (default in Nest 11) for ~20x faster builds</title><link>https://dailydevtips.mohammededris23.workers.dev/nest/swc-builder/</link><guid isPermaLink="true">https://dailydevtips.mohammededris23.workers.dev/nest/swc-builder/</guid><description>nestjs11, build, swc, developer-experience · by Mohamed Idris</description><pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate><category>nest</category><category>nestjs11</category><category>build</category><category>swc</category><category>developer-experience</category><author>Mohamed Idris</author></item><item><title>Configure a strict global ValidationPipe to strip unknown fields and coerce DTOs</title><link>https://dailydevtips.mohammededris23.workers.dev/nest/validation-pipe-whitelist/</link><guid isPermaLink="true">https://dailydevtips.mohammededris23.workers.dev/nest/validation-pipe-whitelist/</guid><description>nestjs, validation, security, dto · by Mohamed Idris</description><pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate><category>nest</category><category>nestjs</category><category>validation</category><category>security</category><category>dto</category><author>Mohamed Idris</author></item><item><title>Push &apos;use client&apos; to leaf components and pass server data down as props</title><link>https://dailydevtips.mohammededris23.workers.dev/next/client-leaf-nodes/</link><guid isPermaLink="true">https://dailydevtips.mohammededris23.workers.dev/next/client-leaf-nodes/</guid><description>nextjs15, server-components, architecture, bundle-size · by Mohamed Idris</description><pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate><category>next</category><category>nextjs15</category><category>server-components</category><category>architecture</category><category>bundle-size</category><author>Mohamed Idris</author></item><item><title>Remember GET route handlers are uncached by default since Next.js 15</title><link>https://dailydevtips.mohammededris23.workers.dev/next/get-uncached-default/</link><guid isPermaLink="true">https://dailydevtips.mohammededris23.workers.dev/next/get-uncached-default/</guid><description>nextjs15, caching, route-handlers, app-router · by Mohamed Idris</description><pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate><category>next</category><category>nextjs15</category><category>caching</category><category>route-handlers</category><category>app-router</category><author>Mohamed Idris</author></item><item><title>Invalidate exactly what changed with revalidateTag/revalidatePath after writes</title><link>https://dailydevtips.mohammededris23.workers.dev/next/revalidate-tag-path/</link><guid isPermaLink="true">https://dailydevtips.mohammededris23.workers.dev/next/revalidate-tag-path/</guid><description>nextjs15, caching, revalidation, server-actions · by Mohamed Idris</description><pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate><category>next</category><category>nextjs15</category><category>caching</category><category>revalidation</category><category>server-actions</category><author>Mohamed Idris</author></item><item><title>Use Server Actions for internal mutations instead of hand-rolled API routes</title><link>https://dailydevtips.mohammededris23.workers.dev/next/server-actions-mutations/</link><guid isPermaLink="true">https://dailydevtips.mohammededris23.workers.dev/next/server-actions-mutations/</guid><description>nextjs15, server-actions, mutations, validation · by Mohamed Idris</description><pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate><category>next</category><category>nextjs15</category><category>server-actions</category><category>mutations</category><category>validation</category><author>Mohamed Idris</author></item><item><title>Stream slow sections with loading.tsx and Suspense instead of blocking the route</title><link>https://dailydevtips.mohammededris23.workers.dev/next/streaming-loading/</link><guid isPermaLink="true">https://dailydevtips.mohammededris23.workers.dev/next/streaming-loading/</guid><description>nextjs15, streaming, suspense, performance · by Mohamed Idris</description><pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate><category>next</category><category>nextjs15</category><category>streaming</category><category>suspense</category><category>performance</category><author>Mohamed Idris</author></item><item><title>Cache expensive server routes at the edge with defineCachedEventHandler</title><link>https://dailydevtips.mohammededris23.workers.dev/nuxt/cached-event-handler/</link><guid isPermaLink="true">https://dailydevtips.mohammededris23.workers.dev/nuxt/cached-event-handler/</guid><description>nuxt4, nitro, caching, performance · by Mohamed Idris</description><pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate><category>nuxt</category><category>nuxt4</category><category>nitro</category><category>caching</category><category>performance</category><author>Mohamed Idris</author></item><item><title>Set per-route rendering strategy with routeRules instead of restructuring code</title><link>https://dailydevtips.mohammededris23.workers.dev/nuxt/route-rules-hybrid/</link><guid isPermaLink="true">https://dailydevtips.mohammededris23.workers.dev/nuxt/route-rules-hybrid/</guid><description>nuxt4, rendering, isr, architecture · by Mohamed Idris</description><pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate><category>nuxt</category><category>nuxt4</category><category>rendering</category><category>isr</category><category>architecture</category><author>Mohamed Idris</author></item><item><title>Give useAsyncData an explicit key to control dedup and caching</title><link>https://dailydevtips.mohammededris23.workers.dev/nuxt/use-async-data-key/</link><guid isPermaLink="true">https://dailydevtips.mohammededris23.workers.dev/nuxt/use-async-data-key/</guid><description>nuxt4, data-fetching, caching, ssr · by Mohamed Idris</description><pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate><category>nuxt</category><category>nuxt4</category><category>data-fetching</category><category>caching</category><category>ssr</category><author>Mohamed Idris</author></item><item><title>Share state across components with useState, never a module-level ref, on SSR</title><link>https://dailydevtips.mohammededris23.workers.dev/nuxt/use-state-ssr/</link><guid isPermaLink="true">https://dailydevtips.mohammededris23.workers.dev/nuxt/use-state-ssr/</guid><description>nuxt4, state, ssr, security · by Mohamed Idris</description><pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate><category>nuxt</category><category>nuxt4</category><category>state</category><category>ssr</category><category>security</category><author>Mohamed Idris</author></item><item><title>Use useFetch in setup and $fetch in handlers to avoid double-fetching</title><link>https://dailydevtips.mohammededris23.workers.dev/nuxt/usefetch-vs-fetch/</link><guid isPermaLink="true">https://dailydevtips.mohammededris23.workers.dev/nuxt/usefetch-vs-fetch/</guid><description>nuxt4, data-fetching, ssr, performance · by Mohamed Idris</description><pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate><category>nuxt</category><category>nuxt4</category><category>data-fetching</category><category>ssr</category><category>performance</category><author>Mohamed Idris</author></item><item><title>Prefer asymmetric visibility over readonly when a class mutates its own state</title><link>https://dailydevtips.mohammededris23.workers.dev/php/asymmetric-visibility/</link><guid isPermaLink="true">https://dailydevtips.mohammededris23.workers.dev/php/asymmetric-visibility/</guid><description>php8.4, oop, encapsulation, immutability · by Mohamed Idris</description><pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate><category>php</category><category>php8.4</category><category>oop</category><category>encapsulation</category><category>immutability</category><author>Mohamed Idris</author></item><item><title>Chain methods directly off constructors in PHP 8.4</title><link>https://dailydevtips.mohammededris23.workers.dev/php/new-without-parens/</link><guid isPermaLink="true">https://dailydevtips.mohammededris23.workers.dev/php/new-without-parens/</guid><description>php8.4, syntax, fluent, ergonomics · by Mohamed Idris</description><pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate><category>php</category><category>php8.4</category><category>syntax</category><category>fluent</category><category>ergonomics</category><author>Mohamed Idris</author></item><item><title>Add #[\Override] in PHP 8.3 to catch broken method overrides at compile time</title><link>https://dailydevtips.mohammededris23.workers.dev/php/override-attribute/</link><guid isPermaLink="true">https://dailydevtips.mohammededris23.workers.dev/php/override-attribute/</guid><description>php8.3, attributes, inheritance, safety · by Mohamed Idris</description><pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate><category>php</category><category>php8.3</category><category>attributes</category><category>inheritance</category><category>safety</category><author>Mohamed Idris</author></item><item><title>Use property hooks in PHP 8.4 to compute and validate without getter methods</title><link>https://dailydevtips.mohammededris23.workers.dev/php/property-hooks/</link><guid isPermaLink="true">https://dailydevtips.mohammededris23.workers.dev/php/property-hooks/</guid><description>php8.4, oop, properties, clean-code · by Mohamed Idris</description><pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate><category>php</category><category>php8.4</category><category>oop</category><category>properties</category><category>clean-code</category><author>Mohamed Idris</author></item><item><title>Type your class constants in PHP 8.3 to lock the contract across subclasses</title><link>https://dailydevtips.mohammededris23.workers.dev/php/typed-class-constants/</link><guid isPermaLink="true">https://dailydevtips.mohammededris23.workers.dev/php/typed-class-constants/</guid><description>php8.3, constants, types, interfaces · by Mohamed Idris</description><pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate><category>php</category><category>php8.3</category><category>constants</category><category>types</category><category>interfaces</category><author>Mohamed Idris</author></item><item><title>Let the React Compiler memoize instead of hand-writing useMemo/useCallback</title><link>https://dailydevtips.mohammededris23.workers.dev/react/react-compiler/</link><guid isPermaLink="true">https://dailydevtips.mohammededris23.workers.dev/react/react-compiler/</guid><description>react19, react-compiler, performance, memoization · by Mohamed Idris</description><pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate><category>react</category><category>react19</category><category>react-compiler</category><category>performance</category><category>memoization</category><author>Mohamed Idris</author></item><item><title>Drop forwardRef in React 19 and accept ref as a normal prop</title><link>https://dailydevtips.mohammededris23.workers.dev/react/ref-as-prop/</link><guid isPermaLink="true">https://dailydevtips.mohammededris23.workers.dev/react/ref-as-prop/</guid><description>react19, refs, components, api · by Mohamed Idris</description><pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate><category>react</category><category>react19</category><category>refs</category><category>components</category><category>api</category><author>Mohamed Idris</author></item><item><title>Handle form mutations with built-in pending and error state via useActionState</title><link>https://dailydevtips.mohammededris23.workers.dev/react/use-action-state/</link><guid isPermaLink="true">https://dailydevtips.mohammededris23.workers.dev/react/use-action-state/</guid><description>react19, forms, actions, state · by Mohamed Idris</description><pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate><category>react</category><category>react19</category><category>forms</category><category>actions</category><category>state</category><author>Mohamed Idris</author></item><item><title>Read promises and context conditionally with the use() hook</title><link>https://dailydevtips.mohammededris23.workers.dev/react/use-hook/</link><guid isPermaLink="true">https://dailydevtips.mohammededris23.workers.dev/react/use-hook/</guid><description>react19, suspense, hooks, data-fetching · by Mohamed Idris</description><pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate><category>react</category><category>react19</category><category>suspense</category><category>hooks</category><category>data-fetching</category><author>Mohamed Idris</author></item><item><title>Show instant UI with useOptimistic and auto-revert on failure</title><link>https://dailydevtips.mohammededris23.workers.dev/react/use-optimistic/</link><guid isPermaLink="true">https://dailydevtips.mohammededris23.workers.dev/react/use-optimistic/</guid><description>react19, optimistic-ui, hooks, ux · by Mohamed Idris</description><pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate><category>react</category><category>react19</category><category>optimistic-ui</category><category>hooks</category><category>ux</category><author>Mohamed Idris</author></item><item><title>Pass inline async handlers with async closures and the AsyncFn traits (Rust 1.85)</title><link>https://dailydevtips.mohammededris23.workers.dev/rust/async-closures/</link><guid isPermaLink="true">https://dailydevtips.mohammededris23.workers.dev/rust/async-closures/</guid><description>rust1.85, async, closures, traits · by Mohamed Idris</description><pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate><category>rust</category><category>rust1.85</category><category>async</category><category>closures</category><category>traits</category><author>Mohamed Idris</author></item><item><title>Use native async fn in traits and drop the async-trait crate</title><link>https://dailydevtips.mohammededris23.workers.dev/rust/async-fn-in-traits/</link><guid isPermaLink="true">https://dailydevtips.mohammededris23.workers.dev/rust/async-fn-in-traits/</guid><description>rust1.75, async, traits, rpitit · by Mohamed Idris</description><pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate><category>rust</category><category>rust1.75</category><category>async</category><category>traits</category><category>rpitit</category><author>Mohamed Idris</author></item><item><title>Flatten guard clauses with let ... else</title><link>https://dailydevtips.mohammededris23.workers.dev/rust/let-else/</link><guid isPermaLink="true">https://dailydevtips.mohammededris23.workers.dev/rust/let-else/</guid><description>rust, pattern-matching, control-flow, ergonomics · by Mohamed Idris</description><pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate><category>rust</category><category>rust</category><category>pattern-matching</category><category>control-flow</category><category>ergonomics</category><author>Mohamed Idris</author></item><item><title>Future-proof public types with</title><link>https://dailydevtips.mohammededris23.workers.dev/rust/non-exhaustive/</link><guid isPermaLink="true">https://dailydevtips.mohammededris23.workers.dev/rust/non-exhaustive/</guid><description>rust, api-design, semver, libraries · by Mohamed Idris</description><pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate><category>rust</category><category>rust</category><category>api-design</category><category>semver</category><category>libraries</category><author>Mohamed Idris</author></item><item><title>Control impl Trait lifetime capture precisely with use&lt;&gt; (Rust 2024)</title><link>https://dailydevtips.mohammededris23.workers.dev/rust/use-bound-capture/</link><guid isPermaLink="true">https://dailydevtips.mohammededris23.workers.dev/rust/use-bound-capture/</guid><description>rust2024, impl-trait, lifetimes, api-design · by Mohamed Idris</description><pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate><category>rust</category><category>rust2024</category><category>impl-trait</category><category>lifetimes</category><category>api-design</category><author>Mohamed Idris</author></item><item><title>Replace modelValue/update boilerplate with defineModel() for v-model</title><link>https://dailydevtips.mohammededris23.workers.dev/vue/define-model/</link><guid isPermaLink="true">https://dailydevtips.mohammededris23.workers.dev/vue/define-model/</guid><description>v-model, components, script-setup, two-way-binding · by Mohamed Idris</description><pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate><category>vue</category><category>v-model</category><category>components</category><category>script-setup</category><category>two-way-binding</category><author>Mohamed Idris</author></item><item><title>Cancel stale async work in watchers with onWatcherCleanup()</title><link>https://dailydevtips.mohammededris23.workers.dev/vue/on-watcher-cleanup/</link><guid isPermaLink="true">https://dailydevtips.mohammededris23.workers.dev/vue/on-watcher-cleanup/</guid><description>watchers, async, reactivity, vue3.5 · by Mohamed Idris</description><pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate><category>vue</category><category>watchers</category><category>async</category><category>reactivity</category><category>vue3.5</category><author>Mohamed Idris</author></item><item><title>Destructure props with native defaults in Vue 3.5, but pass a getter to watch</title><link>https://dailydevtips.mohammededris23.workers.dev/vue/reactive-props-destructure/</link><guid isPermaLink="true">https://dailydevtips.mohammededris23.workers.dev/vue/reactive-props-destructure/</guid><description>props, reactivity, script-setup, vue3.5 · by Mohamed Idris</description><pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate><category>vue</category><category>props</category><category>reactivity</category><category>script-setup</category><category>vue3.5</category><author>Mohamed Idris</author></item><item><title>Generate hydration-safe unique IDs with useId() for accessibility</title><link>https://dailydevtips.mohammededris23.workers.dev/vue/use-id-ssr/</link><guid isPermaLink="true">https://dailydevtips.mohammededris23.workers.dev/vue/use-id-ssr/</guid><description>ssr, accessibility, vue3.5, forms · by Mohamed Idris</description><pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate><category>vue</category><category>ssr</category><category>accessibility</category><category>vue3.5</category><category>forms</category><author>Mohamed Idris</author></item><item><title>Use useTemplateRef() for typed template refs instead of string-matched refs</title><link>https://dailydevtips.mohammededris23.workers.dev/vue/use-template-ref/</link><guid isPermaLink="true">https://dailydevtips.mohammededris23.workers.dev/vue/use-template-ref/</guid><description>composition-api, refs, typescript, vue3.5 · by Mohamed Idris</description><pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate><category>vue</category><category>composition-api</category><category>refs</category><category>typescript</category><category>vue3.5</category><author>Mohamed Idris</author></item></channel></rss>