Uso MathJax con React para mostrar fórmulas matemáticas ( mathjax-react ). Necesito extraer el código de fórmula de un JSON.
Tengo esto :
import React from 'react' import { MathComponent } from 'mathjax-react' function Card({ formula }) { return ( <div> <MathComponent tex={String.raw`\int_0^1 x^2\ dx`} /> </div> ) }En su lugar, quiero insertar la fórmula:
<MathComponent tex={ formula } /> la formula se extraerá de un JSON:
{ "formula": `\int_0^1 x^2\ dx` } Pero JSON no permite el uso de acentos graves. Y String.raw parece funcionar correctamente con la barra invertida de escape solo con backticks. Me gustaría escapar \ sin modificar la fórmula TeX (como agregar un segundo \ manualmente).
¿Cómo podría hacer?
¡Gracias!
PD: Preciso que puede haber múltiples barras invertidas y en todas partes de la cadena. Aquí algunos ejemplos y cómo crear una fórmula matemática . Usando String.raw() como una función, la barra invertida no se extrae sin el carácter justo después. Solo String.raw con backticks funciona bien.
JS
const fx = { formula: `\int_0^1 x^2\ dx` }; const formula = "\\" + String.raw({ raw: fx.formula });en JSX
<MathComponent tex={formula} />Ejemplo de Codesandbox https://codesandbox.io/s/late-morning-538gf
MDN https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/raw