【问题标题】:How to embed Calendly Anchor Tag With React and Material-UI如何使用 React 和 Material-UI 嵌入 Calendly 锚标签
【发布时间】:2020-05-29 07:07:08
【问题描述】:

我正在尝试使用 Reacrjs 和 Material-UI 嵌入 Calendly 的锚标记。

日历指令是:

<!-- Calendly link widget begin -->
<link href="https://assets.calendly.com/assets/external/widget.css" rel="stylesheet">
<script src="https://assets.calendly.com/assets/external/widget.js" type="text/javascript"></script>
<a href="" onclick="Calendly.initPopupWidget({url: 'https://calendly.com/bbb'});return false;"> Schedule Here</a>
<!-- Calendly link widget end -->

我试过这样做:

<Typography className={classes.root}>
    <Link href="#" onClick={Calendly.initPopupWidget({url:'https://calendly.com/bbb'})}>
       Schedule Here
    </Link>
</Typography>

并在react app的public文件夹中的index.html上添加了说明中提到的script和link标签

谢谢。

【问题讨论】:

    标签: reactjs calendar material-ui calendly


    【解决方案1】:

    看起来您正在调用 Calendly.initPopupWidget({url:'https://calendly.com/bbb'}) 而不是将函数传递给 onClick 处理程序。这将导致在呈现链接而不是单击链接时出现弹出窗口。

    您可以将 onClick 函数更改为以下内容以防止出现此问题:

    <Link href="#" onClick={() => window.Calendly.initPopupWidget({url:'https://calendly.com/bbb'})}>
           Schedule Here
    </Link>

    这会将对initPopupWidget 的调用包装在一个匿名函数中,这样 Calendly 函数只会在单击链接时触发。

    【讨论】:

    • 你好泰勒。我刚刚尝试过,但似乎因为我直接在公用文件夹的 index.html 上插入了带有小部件的脚本标签,所以无法在反应组件内调用它。我收到此错误:“第 223:53 行:'Calendly' 未定义 no-undef”
    • 嗨 Joao,感谢您的澄清。 Calendly 将在脚本加载时附加到窗口对象。您能否尝试将您的 onClick 函数更改为以下内容: () => window.Calendly.initPopupWidget({url:'calendly.com/bbb'}) 这应该可以修复引用错误,因为 React 会知道 Calendly 函数是通过窗口提供的对象。
    猜你喜欢
    • 2020-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-22
    • 2021-04-21
    • 2021-01-20
    • 2016-04-02
    相关资源
    最近更新 更多