我已经用Intertia安装了Jetstream。我注册了一个用户,然后尝试登录,控制台显示了以下错误:
[Vue warn]: Error in render: "TypeError: _vm.$page.user is null"
当我查看来自控制器的响应时,实际上它并不包含用户。
用户隶属何处?大概在一些中间件中。但是哪个呢?
这里有两个出现问题的网络路由。注意中间件的区别。
Route::middleware(['auth'])->get('/dashboard', function () {
return Inertia\Inertia::render('Dashboard');
})->name('dashboard');
Route::get('/map', [MapController::class, 'show'])->name('map');
我还尝试了中间件auth:sanctum
和verified
。
答案 0 :(得分:1)
您对用户是正确的。它附加在Jestream提供的ShareInertiaData
中间件中。
假设您已将惯性更新为某些新版本,那么您的用户null
可能与以下事实有关:inertia-vue@v0.3.0
自$page
返回一个整页对象,而不是页面道具-因此,就您而言,您必须使用$page.user
而不是$page.props.user
。
https://github.com/inertiajs/inertia/releases/tag/inertia-vue%40v0.3.0