reactjs - 反应 TypeScript 模态
问题描述
模态的.tsx
import React from 'react';
import './Modal.css'
interface IProps {
show?: boolean;
handleClose?: any;
children: any;
};
const Modal:React.SFC<IProps> = ({ handleClose, show, children }: IProps) => {
const showHideClassName = show ? "display-block" : "display-none";
return <div className={showHideClassName}>
<section className="modal-main">
{children}
<button onClick={handleClose}>close</button>
</section>
</div>;
};
export default Modal;
infoPresenter.tsx
import { Icon } from 'antd';
import React from 'react';
import Modal from '../Modal';
import './Info.css';
class Info extends React.Component{
public state = {
show: false
};
public showModal = () => {
this.setState({ show:true })
}
public hideModal = () => {
this.setState({ show:false })
}
public render(){
return (
<section className="Info">
<div className="InfoTitle">
<h1>Philociphy</h1>
<p>
lorem ipsum
</p>
</div>
<div className="WholeBox">
<div className="BoxLeft" onClick={this.showModal}>
<Modal show={this.state.show} handleClose={this.hideModal}>
<p>Modal</p>
<p>Data</p>
</Modal>
<p>VISION</p>
<Icon type="arrow-left" />
</div>
<div className="BoxRight">
<p>VALUE</p>
<Icon type="arrow-right" />
</div>
</div>
</section>
)
}
}
export default Info;
我想做模态。它有效但不会消失。我检查了我所有的状态和道具,但找不到问题。我不知道我的代码哪里出了问题。
请找到并修复它。如果您有更多制作模态的好主意,请告诉我如何在打字稿中做出反应。
感谢所有关注这个问题的人
解决方案
推荐阅读
- javascript - 在 React 上映射从 aws-sdk 返回的数据
- javascript - 比较 Html 表格中的表格数据行并在问答测验应用程序中找到正确答案
- c - 如何使用 Nanopb 将 subMsg 添加到重复的 msg?
- dns - 如何通过指定特定的 DNS 来解析(获取)esp8266 的公共域名的 IP
- android - 使用 Altbeacon 从信标捕获数据包
- java - Keycloak 与 Tomcat:org.keycloak.KeycloakPrincipal 无法转换为 org.keycloak.KeycloakPrincipal
- android - 将 ID 设置为动态创建的 edittext
- java - 如何使用 if/else 比较两个价格?
- woocommerce - 删除 Woocommerce 添加到购物车的消息,但不断更新购物车数量
- spring-mvc - JHipster RestController WebMvcTest 加载失败