gpt4 book ai didi

reactjs - 使用 Laravel 身份验证时,如何检查 React 组件中的用户是否为 'logged in'?

转载 作者:行者123 更新时间:2023-12-03 13:36:55 24 4
gpt4 key购买 nike

我在我的网站中设置了 Laravel 身份验证。它工作得很好,但我想知道如何检查用户在 react 组件内是否登录并显示他/她的特定内容。

最佳答案

我用来解决检查用户是否登录问题的一种方法是将其作为“全局数据”附加到主 Blade 文件中。首先设置您的 Controller 。

public function index()
{
return view('welcome')->with(["globalData" => collect([
'user' => Auth::user()
]);
}

然后在你的根 Blade 文件中

<script>
let globalData = "{!! $globalData->toJson() !!}";
</script>

然后,您可以通过引用 globalData.user 来访问组件中任何位置的用户属性,从而测试 user 是对象还是 null/空。


来自版本 15.4.2 的 React 项目的示例

Controller

class GuiController extends Controller
{
public function __construct() {
$this->data = [
'projects' => $this->projects(),
'packs' => Pack::all(),
'stimpack_io_token' => env('STIMPACK_IO_TOKEN'),
'stimpack_data_url' => env('STIMPACK_DATA_URL'),
'manipulatorData' => ManipulatorController::attachStartupData()
];
}

public function index()
{
return view('welcome')->with(["data" => collect($this->data)]);
}

查看

<body>            
<div id="main"></div>
<script>
let data = {!! $data->toJson() !!};
</script>
<script src="{{asset('js/app.js')}}" ></script>
</body>

组件内部的使用

upload() {
var compiler = new Compiler(this.props.engine);
var compiled = compiler.compile();
$.ajax({
type: "POST",
beforeSend: function(request) {
request.setRequestHeader("stimpack-io-token", data.stimpack_io_token);
},

关于reactjs - 使用 Laravel 身份验证时,如何检查 React 组件中的用户是否为 'logged in'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55565500/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com