我在我的网站上设置了 Laravel 身份验证。它工作得很好,但我想知道如何检查用户是否在 React 组件中登录并显示他/她的特定内容。
我用来解决检查用户是否登录问题的一种方法是将其作为“全局数据”附加到主刀片文件中。首先设置您的控制器。
public function index()
{
return view('welcome')->with(["globalData" => collect([
'user' => Auth::user()
]);
}
Run Code Online (Sandbox Code Playgroud)
然后在你的根刀片文件中
<script>
let globalData = "{!! $globalData->toJson() !!}";
</script>
Run Code Online (Sandbox Code Playgroud)
然后,您可以通过引用来访问组件中任何位置的用户属性globalData.user,从而测试它是否user是对象或 null/空。
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)]);
}
Run Code Online (Sandbox Code Playgroud)
<body>
<div id="main"></div>
<script>
let data = {!! $data->toJson() !!};
</script>
<script src="{{asset('js/app.js')}}" ></script>
</body>
Run Code Online (Sandbox Code Playgroud)
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);
},
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1496 次 |
| 最近记录: |