Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

434
Vistas
¿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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda