IDE 告诉我不要在 React 中使用 $(document).ready

myT*_*532 4 datatable jquery reactjs

我在 React 应用程序中使用 query.dataTable,而我的 IDE(Visual Studio Code)向我表明我不应该使用$(document).ready(function ()

在此输入图像描述

我的代码:

...
import "datatables.net-dt/js/dataTables.dataTables"
import "datatables.net-dt/css/jquery.dataTables.min.css"

...

componentDidMount = async () => {
        this.props.onLoadData();
        this.setState({ events: this.props.data });

        $(document).ready(function () {
            $('#myTable').DataTable();
        });
}

...

return (
  ...

  <table id="myTable" className="table">

...
Run Code Online (Sandbox Code Playgroud)

为什么IDE会显示它?该代码有效,我想知道为什么它无效。

谢谢

Cer*_*nce 6

它可能告诉您该方法已被弃用(或者不是首选的现代处理方式)。将鼠标悬停在方法调用上,它会显示:

\n
\n

@deprecated \xe2\x80\x94 自 3.0 起已弃用。使用 jQuery(function() { })。

\n
\n

尝试使用这个:只需将一个函数传递给 jQuery:

\n
$(() => {\n  $(\'#myTable\').DataTable();\n});\n
Run Code Online (Sandbox Code Playgroud)\n

通过使用 JSDoc,您可以使用以下命令自己生成删除线@deprecated

\n

在此输入图像描述

\n