React: React está fallando con las etiquetas de script.

Creado en 11 abr. 2015  ·  3Comentarios  ·  Fuente: facebook/react

A React no le gusta esto:

    render: function() {
        return (
            <div class="gl-map-container">

                <script id="shader-fs" type="x-shader/x-fragment">
                    precision mediump float;

                    void main(void) {
                        gl_FragColor = vec4(1.0, 1.0, 1.0, 1.0);
                    }
                </script>

                <script id="shader-vs" type="x-shader/x-vertex">
                    attribute vec3 aVertexPosition;

                    uniform mat4 uMVMatrix;
                    uniform mat4 uPMatrix;

                    void main(void) {
                        gl_Position = uPMatrix * uMVMatrix * vec4(aVertexPosition, 1.0);
                    }
                </script>

                <canvas width='500' height='500' className="gl-map-canvas">
                </canvas>
            </div>
        );
    }

¿Cuál es la solución?

Comentario más útil

Probablemente quieras esto. Pero aun así, su secuencia de comandos probablemente no se ejecutará (la mayoría de los navegadores no ejecutarán secuencias de comandos cuando estén en HTML interno.

<script dangerouslySetInnerHTML={{__html: `
  alert();
`}} />

Todos 3 comentarios

¿Puedes ser mas específico? Qué esperabas que sucediera? ¿Qué pasó en su lugar?

Probablemente quieras esto. Pero aun así, su secuencia de comandos probablemente no se ejecutará (la mayoría de los navegadores no ejecutarán secuencias de comandos cuando estén en HTML interno.

<script dangerouslySetInnerHTML={{__html: `
  alert();
`}} />

¡Cariño, eso funcionaría! Es type="x-shader/x-vertex" , etc., por lo que se supone que el navegador no debe leerlo de todos modos. Puedo agarrarlo más tarde (componentDidMount) para compilar los sombreadores. Irónicamente, terminé usando cadenas de plantilla fuera de JSX, lo que termina teniendo resaltado de sintaxis en Vim, así que aún mejor.

¿Fue útil esta página
0 / 5 - 0 calificaciones