Expert maintenance skill for Vue 3 within Laravel Inertia. Fixes navigation reloads, prop mismatches, and reactivity issues.
Trigger: “Page is reloading full screen”, “Props are missing”, or “Back button is broken”.
<a> tag.<Link>:
<a href="/users">Users</a><Link href="/users">Users</Link>Inertia root component properties.// Is the data actually passed?
return Inertia::render('Dashboard', [
'user' => User::all() // <--- Check this line
]);
auth.user), check app/Http/Middleware/HandleInertiaRequests.php.Trigger: “Route not found” or “Form isn’t showing errors”.
Uncaught Error: 'users.show' is not in the route list.php artisan optimize:clear to refresh the route cache.routes/web.php and has a ->name('users.show').route('users.show', user.id).useForm)422 Unprocessable Entity), but the UI isn’t displaying the error message. <div v-if="form.errors.email" class="text-red-500"></div>
Trigger: “Input isn’t typing” or “Value won’t update”.
const { name } = props?
props.name directly in template, or toRefs(props) in script.<script setup>, did you forget .value?
count.value++, not count++.When debugging, ignore these benign warnings, but ATTACK these errors:
[Intervention] ... non-passive event listener (Usually harmless scrolling lib).Prop "user" expects a Object, got Array.
[] (empty array) for a user, but Vue expected {}.null or empty object, or adjust Vue prop type.