reactjs - OnClick 功能关闭一个模式并打开另一个
问题描述
*** 在下面回答***
我需要帮助处理很多事情。我需要使用 onclick 函数关闭一个模态 {body},然后打开一个新的模态 {bodytwo}。最终这将导致无缝打开和关闭,来回。目前发生的情况是,当我使用当前的 onClick 函数打开 {bodyTwo} 时,{body} 仍然打开。我以为我很接近,但我完全被困住了。我对 React 比较陌生,所以任何朝着正确方向的提示或轻推将不胜感激!
谢谢
function FormModal() {
const classes = useStyles()
const [login, setLogin] = useState(false);
const handleClose = () => {
setLogin(false)
}
const [signUp, setSignUp] = useState(false);
const handleSignUpClose = () => {
setSignUp(false)
}
const body = (
<div>
<Link onClick ={()=> setSignUp(true) && setLogin}
onClose={handleClose}>
SIGN UP</Link>
</div>
);
const bodyTwo = (
<div className="Form">
<SignUp />
</div>
);
return (
<>
<div>
<Link onClick ={()=> setSignUp(!signUp)}>
<i className="fa fa-user-circle" /> {signUp? 'Function': 'Register'}
</Link>
{signUp? (
<Modal open ={signUp}
onClose={handleSignUpClose}
className={classes.modal}
onEscapeKeyDown={handleSignUpClose}>
{bodyTwo}
</Modal>
) : (
<Modal close = {signUp}></Modal>
)}
</div>
<div>
<Link onClick ={()=> setLogin(!login)}>
{"|"}{login? 'Log Out': 'Log In'}
</Link>
{login? (
<Modal open ={login}
onClose={handleClose}
className={classes.modal}
onEscapeKeyDown={handleClose}>
{body}
</Modal>
) : (
''
)}
</div>
</>
)
}
export default FormModal;
解决方案
创建用于关闭和打开模式的单个函数,并改变该单个函数中的值。
推荐阅读
- python-3.x - Ssup 和 Sdown 系列
- python - 很好地预测测试集的 SVM 模型仅在新数据集上以 0.982 的概率(对于所有观察值)预测 target=1
- c - 无法将指向字符的指针分配给字符数组
- sql-server - SQL 数据透视表中总行的百分比
- python-3.x - 如果用户指定“-h”,我可以阻止 argparse 退出吗?
- python - Python,使用请求提交按钮
- javascript - 单击浏览器后退按钮Angular时如何将用户重定向到特定页面
- pytorch - 从 `ConcatDataset` 创建的 `DataLoader` 是从不同文件还是单个文件创建批处理?
- python - 如何在Python中从zip()垂直打印出列表
- angular - 使用 angular-highcharts 导出一次后,网站导航中断