【发布时间】:2021-07-20 22:12:07
【问题描述】:
当用户进入页面时,我希望首先弹出一个模式,可以在 USER 和 AGENT 之间进行选择,并基于该内容页面将被更新。
首先,我需要弄清楚如何在页面加载时触发模态并将选择的选项保存到 cookie / localStorage。
我知道有一个 JavaScript 函数,像这样:
$(document).ready(function() {
setTimeout(function() {
$("#myModal").modal('show');
}, 2000);
});
当用户在页面上停留 2 秒时,上面的代码 ^ 将触发模式,我想通过 react 实现相同的逻辑 - 想到 useEffect 可以处理吗?
另外,我正在使用 React Bootstrap,我知道该组件有一些功能,例如 onEnter 功能,但我不确定它是否可用?
我现在使用的 React Modal 是由按钮触发的:
const [show, setShow] = useState(false); // trigger
<Button variant="primary" onClick={() => setShow(true)}>
Custom Width Modal
</Button>
模态本身:
<Modal
show={show}
onHide={() => setShow(false)}
dialogClassName="modal-90w"
aria-labelledby="contained-modal-title-vcenter"
>
<Modal.Header closeButton>
<Modal.Title id="contained-modal-title-vcenter">
Lorem Ipsum Dolor
</Modal.Title>
</Modal.Header>
<Modal.Body>
<Row className="text-center justify-content-center">
<Col>
<Button>USER</Button>
</Col>
<Col>
<Button>AGENT</Button>
</Col>
</Row>
</Modal.Body>
</Modal>
【问题讨论】:
-
您不应该将 jquery 与 react 一起使用。发布您希望在其中发生的组件
-
我用@UdenduAbasili 的当前模式更新了我的帖子
标签: javascript reactjs function bootstrap-modal