問題タブ [render-to-string]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
44 参照

reactjs - ReactDOMServer がコンポーネントを文字列にレンダリングしない (サードパーティ ライブラリ - react-mathjax)

パッケージreact-mathjaxを使用して、React コンポーネントにいくつかの数学表記を含めています。

プロジェクトの特異性 (質問を簡単にするためにここでは説明しません) のため、このコンポーネントを文字列に変換し、.html を使用して div に html 文字列を挿入する必要がありますdangerouslySetInnerHTML

これはコンポーネントです:

何らかの理由で、それを使用して文字列に変換しようとするとReactDOMServer機能しません(空の文字列が返されます):

Mathコンポーネントを直接レンダリングすると機能します。コンポーネントをデフォルトの HTML タグでラップしMathて文字列に変換すると、デフォルトの HTML タグが変換されます (ただし、Mathコンポーネントは無視されます)。したがって、デフォルトの HTML タグを変換するMathコンポーネントにも問題はありません。ReactDOMServer

何か案が?

これは CodeSandbox を使用したデモです: https://codesandbox.io/s/Compentient-payne-uvww0?file=/src/App.js

これは完全なソースコードです: