【问题标题】:call react script on button click with jquery使用 jquery 在按钮单击时调用反应脚本
【发布时间】:2017-05-20 16:50:43
【问题描述】:

我有一个反应脚本,我需要在单击按钮时加载它,所以我用 jquery 创建了一个函数来捕获单击按钮,然后像这样加载反应脚本

$('#but').on('click', function(){
  $.getScript("/static/39f3e10/js/loadxb.jsx", function (data, textStatus, jqxhr) {
    console.log(data);
    console.log(textStatus);
    console.log(jqxhr.status);
    console.log("file is loaded");
  });
});

当我单击按钮时,脚本成功加载但未执行,这意味着反应脚本不会渲染 div 内的组件,顺便说一下,我在控制台上没有收到任何错误

【问题讨论】:

    标签: javascript jquery reactjs


    【解决方案1】:

    这不起作用,因为浏览器无法执行 JSX 脚本。它必须由 React 解析,然后运行解释它的脚本并使用模板。

    很抱歉给你一个“你做错了”的答案,但本质上你不能/不应该使用 Jquery 来执行 JSX 文件。您应该在您的主反应应用程序中包含反应模板,然后如果您确实想通过单击按钮来实现某些事情,那么您将在您的应用程序上调用一个方法。但一般来说,不建议以这种方式混合 Jquery。

    【讨论】:

    • 如果我将 jsx 脚本编译成 js 脚本然后调用它会不会工作$.getScript()
    • 当然,您可能还必须在脚本中捆绑整个 React。不确定您的总体计划是什么,但我建议您重新考虑这一点并以“React 方式”进行操作。但这只是意见。
    猜你喜欢
    • 1970-01-01
    • 2017-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多