テキストの装飾 (主に強調表示) のために Draft.js に依存する単純なテキスト エディターを構築しています。カスタム構文の強調表示を備えた信頼性の高い入力を簡単に作成できる点が気に入っています。
ただし、これを行うにはエディターの状態全体を公開する必要があるという事実は好きではありません。value
文字列を受け取り、プロパティを介して文字列を渡すプロパティだけを持つエディターが必要onChange
です。
これができるのは合理的なことのように思えますが、選択状態を転送するのがいかに難しいかということに私は唖然としています。
draft.js の実装方法が原因で、これを行うのは難しいと思います。value
プロップが変更されるたびに、プロップに基づいて新しい editorState を作成する必要がありますが、これは実行可能ですが、各状態に固有の不透明な識別子に依存しているためselectionState
、古いものeditorState
と新しいものの間で転送するのは困難です。selectionState
誰かがこれを達成しようとしましたか? これに対してdraft.jsはやり過ぎなので、機能するより単純なソリューションを使用する必要がありますか? 私はデコレータのみを使用しているので、その部分を再構築するのはそれほど難しくないと思います.