我最近升级到ReactJS用于我的Web应用程序。我一直在使用Angular和MathJax在页面上自动渲染数学TeX(每当数学在页面上发生变化时,MathJax会遍历页面,找到分隔符并将数学渲染到位)。我还没有能够让MathJax与React组件生命周期一起工作,并且似乎没有多少在线信息。我以前的实现是收听页面的更改并调用:
MathJax.Hub.Queue(["排版",MathJax.Hub]);
如何使用React自动渲染数学TeX(我应该使用ReactJS)?请注意,我的数学与一组文本内联,我想渲染数学而不渲染整个文本。
提前致谢!
凯文
答案 0 :(得分:2)
我能够找到解决方案。从MathJax took down their CDN开始,确保MathJax脚本链接正确。
class Preview extends React.Component {
componentDidMount () {
MathJax.Hub.Queue(["Typeset",MathJax.Hub, ReactDOM.findDOMNode(this)]);
}
componentDidUpdate () {
MathJax.Hub.Queue(["Typeset",MathJax.Hub, ReactDOM.findDOMNode(this)]);
}
render () {
var tex= this.props.name,
if(!!tex) {
texDisplay = "$$" + tex + "$$"
}
return (
<div>The Tex!</div>
<div>{texDisplay}</div>
)
}
}