Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

439
Views
¿Cómo insertar código Blade en un componente React dentro de una vista Blade?

Así que tengo una vista de Laravel llamada homepage.blade.php , contiene lo siguiente:

 <body> <div id=root></div> <script src="./js/app.js"></script> </body>

Dentro app.js :

 import React from "react"; import ReactDOM from "react-dom"; import SignUp from "./components/SignUp"; if (document.getElementById("root")) { ReactDOM.render(<SignUp />, document.getElementById("root")); }

y dentro SignUp.js :

 import React from "react"; export default function SignUp() { return ( <span className="text-xs font-bold uppercase"> Welcome, {!! auth()-> user() -> name !!} </span> }

El homepage.blade.php es llamado por una función en un controlador, como este:

 //inside the function in the Controller.php: $user = User::create($attributes); auth()->login($user); return redirect('/homepage'); // homepage redirects to homepage.blade.php

El problema : no puedo insertar la línea {!! auth()-> user() -> name !!} dentro del componente de React SignUp.js que se insertará en la vista homepage.blade.php .

Pregunta : ¿Hay alguna forma de insertar código Blade en un componente de React? y hay una mejor manera de hacer esto?

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

No puede usar blade en archivos js. la forma correcta es definir la variable en el archivo blade usando la etiqueta <script></script> como esta:

 <script> const window.username = '{!! auth()-> user() -> name !!}'; <script src="./js/app.js"></script> </script>

y luego use la variable definida en su archivo app.js

over 4 years ago · Santiago Trujillo Report

0

No puedes hacerlo así. Blade solo funciona en un script que está en PHP tipo MIME. Debe cargar su archivo JS con .php para que su secuencia de comandos se pueda procesar. Así es como puedes hacer eso:

  1. Configure el encabezado para que la persona que llama sepa que es un archivo JS.
  2. Establezca su código de hoja dentro de js. Y cambie la extensión del archivo en PHP.
  3. Coloque el archivo JS en su vista (de su MVC), cámbiele el nombre a .php y coloque un encabezado en su controlador. Esto debería funcionar.
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!