javascript - 模态在子组件中,按钮在父组件中如何在reactjs中关闭模态
问题描述
我已经尝试了一些方法,它可以解决我的解决方案这些是示例:这是父组件:
const[openup,setOpenup]=useState(false)
const setSchedule =() => setOpenup(true)
<Button onClick={setSchedule} >Openup</Button>
<Child open={openup} />
这是智利组件:
export default function CreateSchedule(props) {
const [show, setShow] = useState(props.open);
const handleClose =() => setShow(false)
return(
<div>
<Modal className='dummy' show={show} onHide={handleClose}>
Its not working working !!!
</Modal>
</div>
)
}
任何人都可以摆脱这个,...
解决方案
假设 Child 是 CreateSchedule 组件,您可以重新设计代码结构,以便父级通过传递诸如 open 之类的道具以及关闭模态的函数来控制模态的呈现
你的父组件看起来像
const[openup,setOpenup]=useState(false)
const setSchedule =() => setOpenup(true)
const handleClose = () => setOpenup(false);
<Button onClick={setSchedule} >Openup</Button>
<Child open={openup} handleClose={handleClose}/>
您的子组件将是
export default function CreateSchedule(props) {
return(
<div>
<Modal className='dummy' show={props.open} onHide={props.handleClose}>
Its not working working !!!
</Modal>
</div>
)
}
推荐阅读
- java - PropertyAccessException:使用@OneToOne 或@ManyToOne 访问字段时出错
- windows - 如何仅在 Powershell 上获取服务器的正常运行时间?
- javascript - JavaScript 中使用圆括号的赋值是什么?
- amazon-web-services - 为什么 NextJS 中的这个函数可以在本地工作,但在 AWS Lambda 中部署时却不行?
- python-3.x - 从本地文件系统安装 Python 包
- fortran - Fortran 修剪或调整在使用两次时不起作用
- angular6 - ng-template 和使用 CreateEmbeddedView 传递给模板的上下文之间的数据绑定如何工作
- sql - Oracle 12c:我可以从 WITH 子句中调用一个函数,该函数既接受又返回一个表?
- javascript - 使用 tabletop.js 的传单地图中的标记为什么它不起作用?
- javascript - 在 rails 中使用 Vue 组件(带有 video.js)的问题