gpt4 book ai didi

javascript - 使用带有 Href 的 ReactModal 按钮,不起作用。不确定为什么

转载 作者:行者123 更新时间:2023-12-03 02:52:43 24 4
gpt4 key购买 nike

我对 React 还很陌生,并且已经在 React 中重做了我的个人网站。我遇到的问题是我的按钮(带有 href)链接到我的 JSfiddle 对于每个投资组合演示不起作用。我不确定我是否没有正确绑定(bind),或者除了模式打开时,演示按钮不起作用之外到底是什么问题。关闭模式按钮工作正常。请参阅下面的代码。

import React from 'react';
import ReactModal from 'react-modal';

class Project extends React.Component {
constructor () {
super();
this.state = {
showModal: false
};

this.handleOpenModal = this.handleOpenModal.bind(this);
this.handleCloseModal = this.handleCloseModal.bind(this);
}

handleOpenModal() {
this.setState({ showModal: true});
}

handleCloseModal() {
this.setState({ showModal: false});
}

componentWillMount() {
ReactModal.setAppElement('body');
}

render() {
const { details } = this.props;

return (
<li className="Project">
<div onClick={this.handleOpenModal}>
<img className="Project-image" src={'projects/' + details.image} alt={details.name}/>
<div className="Project-overlay">
<p>{details.name}</p>
</div>
</div>
<div >
<ReactModal
isOpen={this.state.showModal}
contentLabel="This is my Modal"
shouldCloseOnOverlayClick={true}
onRequestClose={this.handleCloseModal}
>
<div className="modal-header">
<h3>{details.name}</h3>
</div>
<div className="modal-body">
<img className="Project-image" src={'projects/' + details.image} alt={details.name} />
<p className="desc-body">{details.desc}</p>
<p className="desc-body">{details.link}</p>
</div>
<div className="modal-footer">
{ details.havLink && <button className="button" href={details.link}>Click for Demo!</button> }
<button className="button" onClick={this.handleCloseModal}>Close Modal</button>
</div>
</ReactModal>

</div>
<div className="Project-tag">
<p>{details.tag}</p>
</div>
</li>
)
}
}

const props = {};

export default Project;

问题出在“modal-footer”类的第一行。该按钮将显示 havLink 属性是否为 true。该数据是从另一个 JS 文件导出的。其他所有内容(图像、描述、模态标题)都正确导入,甚至我正确设置导入的链接,但按下按钮时没有任何内容按我的预期触发。我在 React 开发工具中也没有看到任何错误。

{details.link} 作为 href 不会将我路由到指定的链接。该链接将显示在段落标记中(只是为了查看是否填充了正确的链接)。

如果还需要什么,请告诉我,我希望解决方案就像绑定(bind)不正确一样简单。预先感谢您!

最佳答案

<button>没有href属性。您应该使用 anchor 元素 <a> 。到 anchor 你可以传递任何东西classstyle你想让它看起来像一个按钮,但它仍然是一个 anchor 元素,而不是按钮。

关于javascript - 使用带有 Href 的 ReactModal 按钮,不起作用。不确定为什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47776444/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com