gpt4 book ai didi

reactjs - React 在同一组件中渲染多个模态

转载 作者:行者123 更新时间:2023-12-03 13:51:29 26 4
gpt4 key购买 nike

我是 React 和一般编码的新手。我试图在同一组件中渲染多个模态,但它们都是同时渲染的,因此看起来所有链接都在最后一个模态中渲染文本。
这里是设置状态的地方:

class Header extends React.Component {
constructor () {
super();
this.state = {open:false}
this.openModal = this.openModal.bind(this);
this.closeModal = this.closeModal.bind(this);
this.handleModalChangeEnter = this.handleModalChange.bind(this, true);
this.handleModalChangeLogin = this.handleModalChange.bind(this, false);
}
openModal () {
this.setState({open: true}); }
closeModal () {
this.setState({open: false}); }
render() {

这是模态结构:

return (
<header style={home}>

<div style={hello}>
<img style={logo} src='public/ycHEAD.png'/>
<p style={slogan}>One Calendar for All of Yerevan's Tech Events</p>
</div>

<div style={subContainer}>
<ul style={modalDirectory}>

<Button onClick={this.openModal}
style={openButton}>
<li><a style={tabs}>Enter
</a></li>
</button>
<Modal style={modalCont}
isOpen={this.state.open}>
<button onClick={this.closeModal}
style={xButton}>x</button>
</Modal>

<button onClick={this.openModal}
style={openButton}>
<li><a style={tabs}>Login
</a></li>
</button>
<Modal style={modalCont}
isOpen={this.state.open}>
<p>Account</p>
<button onClick={this.closeModal}
style={xButton}>x</button>
</Modal>

空括号中是否应该有一个值 -> openModal() & closeModal() ?

最佳答案

一位 friend 帮我解决了这个问题。代码的上半部分保持不变,模态结构发生了变化(还对“html”进行了一些真正有用的美学更改):

return (
<header style={home}>
<div style={hello}>
<img style={logo} src='public/ycHEAD.png'/>
<p style={slogan}>One Calendar for All of Yerevan's Tech Events</p>
</div>

<div style={subContainer}>
<ul style={modalDirectory}>

<li style={tabs}>
<button
onClick={() => this.openModal('login')}
style={openButton}>
Enter
</button>
</li>

<li style={tabs}>
<button
onClick={() => this.openModal('calendar')}
style={openButton}>
Calendar
</button>
</li>

<li style={tabs}>
<button
onClick={() => this.openModal('team')}
style={openButton}>
Meet Us
</button>
</li>

</ul>
</div>


<Modal
style={modalCont}
isOpen={this.state.activeModal === 'login'}>
<p>1!</p>
<button onClick={this.closeModal}
style={xButton}>x</button>
</Modal>

<Modal
style={modalCont}
isOpen={this.state.activeModal === 'calendar'}>
<p>2!</p>
<button onClick={this.closeModal}
style={xButton}>x</button>
</Modal>

<Modal
style={modalCont}
isOpen={this.state.activeModal === 'team'}>
<p>3!</p>
<button onClick={this.closeModal}
style={xButton}>x</button>
</Modal>

</header>

如果其他人可以提供详尽的解释,请这样做!另外,还有另一种方法可以使用“绑定(bind)”来执行此操作,但我不知道如何操作。

关于reactjs - React 在同一组件中渲染多个模态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39958084/

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