【问题标题】:How to use jQuery plugin that modify the DOM with Reactjs?如何使用通过 Reactjs 修改 DOM 的 jQuery 插件?
【发布时间】:2015-09-15 15:11:51
【问题描述】:

我在这篇文章之后有一个问题:

issue

我应该如何使用通过 react 修改 DOM 的 jQuery 插件。就像 jimfb 在 GH 上友好地回答我一样,React 应该返回一个预渲染的组件。所以我的问题是,在我的示例中,在组件的生命周期中,如何准确调用像 remodal() 这样的函数?

【问题讨论】:

  • 从关于 GH 的讨论中,我了解到您应该将对话框放在渲染功能上并手动显示或显示它,因此创建自己的对话框实现或将对话框放在反应应用程序之外。我更喜欢第一种选择,但这只是一种口味

标签: javascript jquery reactjs


【解决方案1】:

我建议你在这里阅读我的答案: Why should addChangeListener be in componentDidMount instead of componentWillMount?

但基本上,当您需要将一些现有的插件或代码与 React 集成时,最简单的方法是通常在 componentDidMount 方法上调用该代码并以旧方式监听事件。如果您使用 jQuery,这意味着您应该使用类似

的东西

$(this.getDOMNode()).find('.some-child').on('click', this.onChildClick)

这样做,您会错过 React 中有关事件委托的一些最重要的功能(请参阅 https://facebook.github.io/react/docs/interactivity-and-dynamic-uis.html#under-the-hood-autobinding-and-event-delegation),但这应该不是问题,除非您想创建数百个事件侦听器。

【讨论】:

    猜你喜欢
    • 2021-09-29
    • 1970-01-01
    • 2021-07-24
    • 2016-04-14
    • 2018-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多