如何在React组件内呈现Backbone视图?

6
我们正在将我们的Backbone应用程序迁移到使用React和Redux。我正在使用React/Redux创建一个新功能,但它需要一个当前在Backbone中的textInputView。这个textInputView非常庞大,并且具有高级功能,目前无法将其移植到React中。
我需要渲染我的Backbone视图并将其作为元素放入我的React模块中。我的想法是渲染Backbone视图并将其传递到React组件中。然后在我的React组件中创建componentDidMount和componentDidUpdate函数,每次我的React元素重新渲染时手动将我的Backbone视图附加到DOM中。
我认为这样可以工作,但似乎有些混乱。是否有更清晰的解决方案?

React的主要目的是通过使用虚拟DOM来高效地处理渲染。使用其他东西来执行渲染会失去这个目的。在我看来,最好将Backbone中的集合或模型传递给React。 - Ezra Chang
1个回答

5

这里快速给出一个解答,因为这个问题还没有得到回答,而我正在寻找类似的信息。我认为你的解决方案可以起作用,但在性能方面可能会有负面影响。

虽然不常用,但React确实有dangerouslySetInnerHTML,可以在这里使用。我会将视图作为prop传递进去,使用view.$el.html()从未挂载的视图中检索innerHTML字符串,并将其传递给dangerouslySetInnerHTML。您必须确保您的任何事件处理程序在呈现和拆卸时正确地附加和分离。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接