添加到链接URL在jQuery的反应不起作用
我创建一个<Link to=""></Link>
元素反应,希望在页面呈现时添加URL和这个元素变成一个锚元素。但是,它似乎并不奏效。下面是代码:添加到链接URL在jQuery的反应不起作用
React code
<Link to="" className="text-wrapper">
<p>Custom page</p>
</Link>
jQuery code
$('#customId').find('a').attr('href', customUrl);
的网址并非重定向任何地方。我使用了Link,因为我不想在导航时加载页面,我在其他地方使用了它,并且工作正常。在其他地方,我直接给定的值到<Link to=""></Link>
元素像<Link to="/about-us"></Link>
。但是,当使用jQuery给出url时,它不起作用。
原因是,<Link/>
是反应成分不是DOM
元件。 jQuery
选择器引擎被设计为与DOM
元素一起使用。
解决方案
只是这样做
$.ajax('')
.done((data) => {
...
this.setState({customUrl: 'your url here'})
})
<Link to={this.state.customUrl} className="text-wrapper">
<p>Custom page</p>
</Link>
我的自定义网址是需要放在那里的AJAX请求的结果。一旦LINK组件被渲染,它是如何完成的。 –
ajax调用和组件构建在不同的文件中。 –
@AbhishekDhanrajShahdeo如果这是你需要将结果传递一个'prop'这个组件或使用的情况下'redux' –
如果URL来自AJAX请求你应该做的像componentWillMount
或componentDidMount
组件生命周期方法的要求(根据您的需求),门店在React状态(或Redux状态)下的结果,然后将其渲染为:
{this.state.url && (
<Link to={this.state.url} className="text-wrapper">
<p>Custom page</p>
</Link>
)}
ID缺失链接 – Bharat
选择器用于父项,锚元素是选择器的子项。 –