javascript - 在 React Component 与“ref”中调用“document.getElementByID”
问题描述
我正在尝试通过更改模式的样式属性来打开模式,因此它是可见的。当我编写这样的函数时,我工作得很好:
modalAction(action) {
switch (action) {
case "open": {
const modal = document.getElementById("login-popup");
modal.style.opacity = 1;
modal.style.visibility = "visible";
}
}
}
然而我从未见过这样的反应代码。Insead 我读了很多关于使用这样代码的裁判:
<div className="login-popup" ref={(ref) => {this.loginPopup = ref}} id="login-popup">
但据我所知,使用 refs 只会让我访问相同(或嵌套)组件中的虚拟 DOM 元素。模态是它自身的一个组件,它不是嵌套的。
我可以使用 redux 来解决我的问题,但是编写一个 reducer-case 以及一个 action 并产生一个额外的状态对于我的问题来说似乎是多余的。
如果模态既不嵌套也不在调用它的同一组件中,我如何以正确的方式访问模态样式属性?谢谢
解决方案
推荐阅读
- javascript - 为什么 selection.exit().size() 为零?
- amazon-web-services - 如何将用户制作的脚本添加到 EC2 ubuntu?
- c# - 如何根据 Web API 2 ASP.NET 中收到的操作做出响应
- c# - Unity 在多个游戏对象上更改材质颜色
- android - 如何对具有泛型类型的 kotlin 扩展函数进行单元测试
- javascript - 使用逻辑运算符解构状态分配
- java - 无法弄清楚如何检测硬币翻转器中有多少连续的正面
- php - MYSQL + PHP 试图插入 IPA 字符
- php - 如何从电报消息中获取删除帐户代码
- android - 如何在子视图中淡入时滚动 NestedScrollView - 平滑?