React-ace: El navegador está atascado y la memoria sigue aumentando después de escribir en el editor

Creado en 6 jul. 2017  ·  4Comentarios  ·  Fuente: securingsincity/react-ace

Problema

establezca maxLines como 1 o 2, con onLoad establezca el modo de ajuste como verdadero al mismo tiempo, haga clic antes de la última llave y escriba el botón Enter para que el editor se formatee automáticamente, encontrará el navegador atascado y la memoria subiendo.

Código de muestra para reproducir su problema

<AceEditor
      mode="json" maxLines={2} value={"{\"a\":\"b\"}"}
      onLoad={editor => editor.getSession().setUseWrapMode(true)}
/>

o visite el proyecto simple react-ace-editor-issuse

Referencias

CPU y memoria inicial
tim 20170706095723
10 segundos después de escribir el botón Enter
tim 20170706095813

Progreso en: #
Win 10 / Chrome 58 e IE 11 / React 15.6.1

bug unable to reproduce

Comentario más útil

estoy usando React v16.4, react-ace v6.1.2

  1. configurar con create-react-app
  2. y pruebe con el código siguiente, configurando AceEditor con maxLines y wrapEnabled
class App extends React.Component {
  render() {

    const props = {
      mode: 'javascript',
      theme: 'monokai',
      value: 'const test = \'hello loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong text\'',
      maxLines: 1,
      wrapEnabled: true,
    };

    return (
      <div>
        <AceEditor {...props} />
      </div>
    );
  }
}

y hará que la CPU y la memoria aumenten
image

Todos 4 comentarios

Consideramos alejarnos de https://github.com/JedWatson/react-codemirror porque al menos por el momento no se mantiene bien (también conocido como el mantenedor no se fusiona ni reacciona a los RP) pero este es un bloqueador que detiene eso .

@SecMao No puedo reproducir en mi mac. Necesitaré encontrar una computadora portátil con Windows para reproducir.

@inoas ¿

Todavía no hemos hecho el movimiento e intentaremos reproducir esto si lo hacemos e informaremos en cualquier caso (sin fugas o "parece" una fuga)

estoy usando React v16.4, react-ace v6.1.2

  1. configurar con create-react-app
  2. y pruebe con el código siguiente, configurando AceEditor con maxLines y wrapEnabled
class App extends React.Component {
  render() {

    const props = {
      mode: 'javascript',
      theme: 'monokai',
      value: 'const test = \'hello loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong text\'',
      maxLines: 1,
      wrapEnabled: true,
    };

    return (
      <div>
        <AceEditor {...props} />
      </div>
    );
  }
}

y hará que la CPU y la memoria aumenten
image

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