【问题标题】:How to render a Backbone view inside a React component?如何在 React 组件中渲染 Backbone 视图?
【发布时间】:2016-05-29 00:16:51
【问题描述】:

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

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

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

【问题讨论】:

  • React 的主要目的是通过使用虚拟 DOM 来高效地进行渲染。使用其他东西来执行渲染会破坏目的。在我看来,你最好将集合或模型从 Backbone 传递给 React。

标签: javascript backbone.js reactjs


【解决方案1】:

只是快速浏览一下这个问题,因为它仍然没有答案,我正在寻找类似的信息。我认为您的解决方案会起作用,但可能会损害性能。

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

【讨论】:

    猜你喜欢
    • 2015-10-11
    • 1970-01-01
    • 1970-01-01
    • 2017-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-22
    相关资源
    最近更新 更多