React-ace: Le navigateur est bloqué et la mémoire continue d'augmenter après avoir tapé dans l'éditeur

Créé le 6 juil. 2017  ·  4Commentaires  ·  Source: securingsincity/react-ace

Problème

définissez maxLines sur 1 ou 2, avec onLoad définissez le mode wrap comme true en même temps, cliquez avant la dernière accolade et tapez le bouton Entrée pour que le formatage de l'éditeur se fasse automatiquement, vous trouverez le navigateur bloqué et augmentation de la mémoire.

Exemple de code pour reproduire votre problème

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

ou visitez le projet simple react-ace-editor-issue

Les références

Mémoire initiale et CPU
tim 20170706095723
10 secondes après avoir tapé le bouton Entrée
tim 20170706095813

Progrès le : #
Win 10 / Chrome 58 & IE 11 / React 15.6.1

bug unable to reproduce

Commentaire le plus utile

j'utilise React v16.4, react-ace v6.1.2

  1. configuration avec create-react-app
  2. et testez avec le code ci-dessous, en définissant AceEditor avec maxLines et 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>
    );
  }
}

et cela entraînera une augmentation du processeur et de la mémoire
image

Tous les 4 commentaires

Nous avons envisagé de nous éloigner de https://github.com/JedWatson/react-codemirror car au moins pour le moment, il n'est pas bien maintenu (le responsable ne fusionne pas ou ne réagit pas aux PR) mais voici un bloqueur qui arrête cela .

@SecMao Je n'arrive pas à reproduire sur mon mac. Je vais devoir trouver un ordinateur portable Windows pour reproduire.

@inoas avez-vous pu reproduire ce problème ? Je vois quelques commentaires mentionnant que vous cherchiez à passer de codemirror, mais il n'est pas clair si vous avez vu ces problèmes localement.

Nous n'avons pas encore fait le pas et nous essaierons de reproduire cela si nous le faisons et de faire rapport dans les deux cas (pas de fuite ou fuite "ressemble")

j'utilise React v16.4, react-ace v6.1.2

  1. configuration avec create-react-app
  2. et testez avec le code ci-dessous, en définissant AceEditor avec maxLines et 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>
    );
  }
}

et cela entraînera une augmentation du processeur et de la mémoire
image

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

venil7 picture venil7  ·  3Commentaires

BenBrewerBowman picture BenBrewerBowman  ·  5Commentaires

danush picture danush  ·  7Commentaires

Bobcui001 picture Bobcui001  ·  5Commentaires

tsmirnov picture tsmirnov  ·  4Commentaires