当前位置: 首页 > 知识库问答 >
问题:

在react中加载jquery依赖库

孟杰
2023-03-14

我在过去使用引导日期选择器,它有一个选项,让一个月的日历保持静态(内联),如图所示。

我现在正在使用React(我对它还很陌生),需要一个日期选择器。我决定使用react引导日期选择器,但是react引导日期选择器没有内联选项。

我不想大量侵入react引导数据采集器的css,在react上加载jQuery依赖库(如引导数据采集器)的最佳方法是什么?这会是坏习惯吗?

下面是用于加载bootstrap-datepicker模块的JS(jQuery)/超文本标记语言代码。

<div id="datepicker" data-date="12/03/2012"></div>
<input type="hidden" id="my_hidden_input">
$('#datepicker').datepicker();

$('#datepicker').on('changeDate', function() {

    $('#my_hidden_input').val(
        $('#datepicker').datepicker('getFormattedDate')
    );

});

更新:

因此,虽然这在呈现引导日历方面做了一些工作,但当#my_hidden_input的值已更新时,我无法启动事件。我添加了一个onChange事件来检测render()函数中div的值更改。

<div id="datepicker"></div> 

    <div id="#my_hidden_input" onChange={this.handleDate}>

</div> 

其中handleDate()函数只是触发控制台。日志(1);

共有1个答案

戎泰
2023-03-14

初始化jQuery插件的“React”方法是在componentDidMount生命周期方法中进行初始化。

componentDidMount(){
    $('#datepicker').datepicker();

    $('#datepicker').on('changeDate', function() {

        $('#my_hidden_input').val(
            $('#datepicker').datepicker('getFormattedDate')
        );

    });
}

更新:添加@klasman关于销毁或卸载插件的内容。使用组件将卸载生命周期方法:

componentWillUnmount(){
    $('#datepicker').destroy();
}

更新2:onChange事件未触发,因为您没有将事件设置为调用handleDate函数。在这里,您将更改事件设置为匿名函数:

$('#datepicker').on('changeDate', function() {

    $('#my_hidden_input').val(
        $('#datepicker').datepicker('getFormattedDate')
    );

});

相反,您需要提供handleDate函数,如下所示:

$('#datepicker').on('changeDate', this.handleDate);

 类似资料:
  • 我通常使用加载一个DLL。但是我想它不是这样工作的,因为我把这个函数调用分配给了实例成员。

  • 我有一个Advision类,它使用了代理jar中的另一个类,但这个类依赖于代理jar中不存在的一个类。代理jar中不存在的这个类存在于应用程序类加载器上的另一个jar中。代理jar位于系统类加载器上。所以我没有遇到ClassDefounderRor。我已经尝试使用Transformer.forAdvise,这是在另一篇文章中建议的,但这只适用于Advise类。

  • 问题内容: 如何获取我拥有的jar文件并将其添加到Maven 2的依赖系统中?我将成为此依赖项的维护者,并且我的代码需要在类路径中使用此jar,以便对其进行编译。 问题答案: 您必须分两步执行此操作: 1.给您的JAR一个groupId,artifactId和版本,然后将其添加到您的存储库中。 如果您没有内部存储库,而只是试图将JAR添加到本地存储库,则可以使用任意groupId / artifa

  • 在我的反应/redux应用程序中,我使用调度来调用每次安装组件时从redux中的状态检索数据的操作。问题正在使用状态发生我的方式不工作 下面是我得到的错误: React Hook useEffect缺少依赖项:“dispatch”。包括它或删除依赖项数组。像“getInvoiceData”这样的外部作用域值不是有效的依赖项,因为对它们进行变异不会重新呈现组件react HOOK/DEP 这是我的密

  • 在运行react应用程序时,我在控制台中遇到了这个错误--从2021年5月左右的M91开始,SharedArrayBuffer将需要跨源隔离。请参阅https://developer.chrome.com/blog/enabling-shared-array-buffer/了解更多详细信息。 根据StackOverflow的建议,我尝试更新react版本。我的版本是16,然后转到了17。但现在依赖

  • 从我读到的内容来看,我似乎需要一个pom.xml文件。也许我应该先以某种方式将maven添加到项目中?