在jquery中,react中的Add to link to URL不起作用

Add to link to URL in react in jquery doesn't work

本文关键字:to link URL 不起作用 Add 中的 jquery react      更新时间:2023-09-26

我正在react中创建一个<Link to=""></Link>元素,并希望在页面呈现时添加url,并且该元素变成锚元素。但是,它似乎不起作用。下面是代码:

React code

<Link to="" className="text-wrapper">
    <p>Custom page</p>
</Link>

jQuery code

$('#customId').find('a').attr('href', customUrl);

URL没有重定向到任何地方。我使用链接是因为我不希望页面在导航时加载,我在其他地方使用过它,效果很好。在其他地方,我直接给<Link to=""></Link>元素赋值,比如<Link to="/about-us"></Link>。但是,当使用jquery给出url时,它不起作用。

原因是<Link/>是一个react组件而不是DOM元素。jQuery选择器引擎设计用于DOM元素。

<<p> 解决方案/strong>

就这样做

$.ajax('')
.done((data) => {
  ...
  this.setState({customUrl: 'your url here'})
})
<Link to={this.state.customUrl} className="text-wrapper">
    <p>Custom page</p>
</Link>

如果URL来自AJAX请求,您可能应该在组件生命周期方法中做该请求,如componentWillMountcomponentDidMount(取决于您的需要),将结果存储在React状态(或Redux状态),然后呈现它,如

{this.state.url && (
  <Link to={this.state.url} className="text-wrapper">
    <p>Custom page</p>
  </Link>
)}