2015-03-20 6 views
6

मैं प्रतिक्रिया के लिए एक HTML संपादक की तलाश कर रहा था, लेकिन चूंकि मुझे कुछ भी नहीं मिला जो ठीक काम करता है (मुझे बस टेक्स्ट एच 1, एच 2, एच 3, पी, बोल्ड और इमेज [बेस 64 में] प्रारूपित करने की आवश्यकता है)प्रतिक्रिया एचटीएमएल संपादक (TinyMce)

अंत में मैंने टिनी मेस का उपयोग करने का फैसला किया, जो ठीक काम करता है। लेकिन केवल तभी जब पृष्ठ पहली बार खोला जाता है। अगर मैं उस पृष्ठ पर फिर से मिलता हूं। एक ब्राउज़र relaod के बिना, तो tinymce शुरू नहीं किया गया है। क्या आप जानते हैं कि इस तरह की स्थिति में कौन सी प्रतिक्रिया घटना शुरू हो जाएगी। यहाँ मेरी छोटी आवरण अब तक है:

/** @jsx React.DOM */ 
var React = require('react'); 

var TinyMceEditor = React.createClass({ 
    componentDidMount: function() { 
     var that = this; 
     tinymce.init({ 
      selector: "textarea.tiny-mce-editor", 
      setup : function(editor) { 
       editor.on('change', function(e) { 
        that.props.onChange(editor.getContent()); 
       }); 
      }, 
      plugins: [ 
       "lists link image charmap print preview anchor", 
       "searchreplace code fullscreen", 
       "insertdatetime media table contextmenu paste" 
      ], 
      toolbar: "undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image" 
     }); 
     tinyMCE.get(that.props.lang + '-editor').setContent(that.props.html); 
    }, 
    render:function(){ 
     return (
      <div> 
       <textarea ref="text" className="tiny-mce-editor" id={this.props.lang + '-editor'} /> 
      </div> 
     ) 
    } 
}); 
module.exports = TinyMceEditor; 

उत्तर

7

इस मैं जब unmounting TinyMCE उदाहरण नष्ट करने के लिए किया था ठीक करने के लिए।

componentWillUnmount: function() { 
    tinymce.remove('#' + this.props.lang + '-editor'); 
} 
+0

धन्यवाद, अच्छा समाधान अगर आप वहां पर प्रतिक्रियाशील पाठ संपादकों को लागू नहीं कर सकते हैं या बस कार्यान्वित नहीं कर सकते हैं ... कोशिश की लेकिन बस वैसे भी उपयोग नहीं कर सका ... और अच्छा काम –

संबंधित मुद्दे