Estoy usando plantillas de handlebars en un proyecto, pero ahora necesito usar React para manejar algo de lógica. Logré integrar mi componente React en mi proyecto que no es de reacción, pero ¿cómo devuelvo una plantilla de manillar en un componente de reacción?
const Component = (props) => { const { .... } = props; // some logic .... // return handlebars return {{> components/users/user}}; };No puedo convertir mis componentes del manillar en React porque hay muchos de ellos y la lógica está implementada en jQuery, así que solo necesito devolver el componente del manillar en mi componente React.
Una plantilla de manillar es una cuerda.
JSX es una sintaxis para generar JS que describe un DOM en términos que no se basan en una cadena.
Si desea generar una plantilla de manillar, debe trabajar con cadenas.
const template = "{{> components/users/user}}"Y si desea devolver algo del Componente, entonces tiene que ser JSX, por lo que debe tomar la cadena de HTML que genera e insertarla en el resultado.
const compiledTemplate = Handlebars.compile(template); const html = compiledTemplate({ foo: "Bar" }); const innerHTML = { __html: html }; return <div dangerouslySetInnerHTML={innerHTML} />;Sin embargo, esto se siente como una idea notablemente pobre. Si quieres usar React, usa React. Convierte tus plantillas de manillares en componentes.