2
編集可能なプレ要素では、テキストの不要なHTML要素を避けるために、Enterキーを押したときにのみonKeyDownスクリプトを実行します。段落コンテンツが変更され、コンテンツが再度レンダリングされなければならないようにsetState(content: newText)
が呼び出されるhandleKeyDown
関数でReact(Preact)はコンテンツを2回レンダリングする
render({}, {content}) {
console.log("render: "+content);
return <p contenteditable onKeyDown={this.handleKeyDown}>{content}</p>
}
。これにより、新しいテキストが2回書き込まれます。
私は "ハロー"、それは "ハロー
worldhello
世界" になりさえhandleKeyDownかかわら
と機能のレンダリングが正しい文字列ログインした後の "Hello World" と入力し、ブレイク:「
をこんにちは
ワールド "
私はここで間違っていますか?
ありがとうございます!これはトリックでした。私はこの「危険な設定インナーHTML」につまずくことを覚えていますが、それについては何の説明もありません。 – Enie