当从useEffects首次渲染时触发反应弹出窗口。打开null打开器

时间:2019-10-22 18:42:31

标签: javascript reactjs

我正在尝试在初始页面加载时触发弹出窗口(基于某些条件)。目的是用于oauth身份验证。我可以通过单击按钮来完成所有工作,但是由于某些原因,当尝试使用useEffect打开弹出窗口时,我遇到了window.opener为null并因此无法回调的问题。

我在这里做了一个最小的演示,概述了这个问题。加载后,它应立即尝试自动打开弹出窗口。如果允许,然后在弹出窗口的控制台中运行window.opener,您会看到它为空

enter image description here

但是,按下任一按钮(直接或通过相同通过状态依赖使用useEffect),窗口将再次打开,并且opener将不再为null

https://codesandbox.io/s/condescending-shannon-t0xjo

1 个答案:

答案 0 :(得分:0)

也许您的浏览器正在阻止弹出窗口,因为它不是用户初始化的事件?