2017-07-20 7 views
0

Ich habe einen Texteditor programmiert (ganz von JS generiert, im Grunde wysiwyg, es gibt Ausgabe in HTML zurück) in VanillaJS und jetzt lerne ich React. Ich habe eine "Dokument" -Komponente, die "Papier" -Komponenten enthält, aber jetzt möchte ich diese beiden Dinge verbinden - Papier (in React) und den Texteditor (JavaScript).React Komponente, die VanillaJS enthält

Also meine Fragen sind: Ist das eine gute Praxis? Wenn ja, wie verbindet man diese beiden Dinge? Und wenn nicht, sollte ich den Texteditor in React umwandeln? Reaction scheint mir keine gute Wahl für ein solches Problem zu sein, aber ich bin ziemlich lahm.

Es wäre perfekt, wenn die Lösung wäre gut zum Speichern der generierten HTML in der Datenbank.

+0

Hallo und willkommen zu StackOverflow. Bitte nehmen Sie sich etwas Zeit, um die Hilfeseite zu lesen, insbesondere die Abschnitte mit dem Namen ["Welche Themen kann ich hier fragen?"] (Http://stackoverflow.com/help/on-topic) und ["Welche Arten von Fragen sollte ich haben nicht fragen? "] (http://stackoverflow.com/help/dont-ask). Und, was noch wichtiger ist, lesen Sie bitte [die Checkliste für Stack Overflow-Fragen] (http://meta.stackexchange.com/q/156810/204922). Vielleicht möchten Sie auch etwas über [Minimale, vollständige und überprüfbare Beispiele] (http://stackoverflow.com/help/mcve) erfahren. – herrbischoff

Antwort

0

Nun nach einem Monat Ich glaube, ich bin zu beantworten bereit ...

In der Regel ist es keine gute Idee, Vanille JS combinate und reagieren (es vollkommen gut ist VanillaJS Funktion zu verwenden, die nicht sind verwendet für DOM, beide mit unterschiedlichen Zugriff auf DOM, Code ist chaotisch und Sie verlieren einige Vorteile von React)

Und React ist eine wirklich gute Wahl für diese, vor allem mit draft.js. Aber es ist auch möglich, React mit contentEditable Attribut verwenden, aber Sie können ein Problem mit Controlled Components haben so Ich würde auf jeden Fall empfehle mit draft.js, die diese Probleme nicht und sogar Facebook überall dort, wo sie brauche einen Rich-Text-Editor.