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

时间:2016-05-29 00:16:51

标签: javascript backbone.js reactjs

我们正在迁移Backbone应用程序以使用React和Redux。我正在使用React / Redux创建一个新功能,但它需要一个当前在Backbone中的textInputView。这个textInputView非常笨重,并且具有高级功能,这使我无法在此时将其移植到React。

我需要渲染我的Backbone视图并将其作为React模块中的元素。我的想法是渲染Backbone视图并将其传递给React组件。然后在我的React组件中创建componentDidMountcomponentDidUpdate函数,每次我的React元素重新渲染时,它都会手动将我的Backbone视图附加到DOM。

我认为这会有效,但看起来很混乱。有没有更清洁的解决方案?

1 个答案:

答案 0 :(得分:5)

快速接受这个,因为它仍然没有答案,我正在寻找类似的信息。我认为您的解决方案可行,但可能会对性能产生不利影响。

它并不经常使用,但React确实有dangerouslySetInnerHTML可以在这里使用。我将视图作为道具传递,使用view.$el.html()从未安装的视图中检索innerHTML字符串,并将其传递给dangerouslySetInnerHTML。您必须确保您的任何事件处理程序在渲染和拆卸时正确附加和取消附加。