繁体   English   中英

Javascript Onclick = window.open()函数会在每次刷新页面时打开一个新页面吗?

[英]Javascript Onclick=window.open() function will open a new page every time I refresh the page?

所以我有一个DIV元素,当按下时,我想在另一个窗口中打开一个新选项卡。 唯一的问题是,每当刷新页面或按下任何其他div元素时,也会启动该功能并在另一个窗口中打开一个页面。 我将在下面包含我的代码,但我不确定为什么会发生这种情况,因为我正在使用onClick={window.open("https://www.thechinesewriter.com")就像我说的,我只是想要在按下div时打开一个新选项卡,而不是在单击页面上的任何其他项目时,或者甚至在页面本身刷新时打开。

import React from "react";
import "./Column1.css";

class Column1 extends React.Component {

    render() {
        return(
            <React.Fragment>
                 <div className="rectImage">
                     <img className="imagePost" src={this.props.image} />   
                 </div>
                 <div onClick={window.open("https://www.thechinesewriter.com")} className="downloadBut1">
                     <h2>
                         Source
                     </h2>
                 </div>
                 <div className="downloadBut2">
                     <h2>
                         Repository
                     </h2>
                 </div>
             </React.Fragment> 
         )
     }     
}

export default Column1;

你需要将这个函数称为回调函数。

<div onClick={() => window.open("https://www.thechinesewriter.com")} className="downloadBut1">

否则,每次渲染组件时都会调用它。

您使用表达式,该表达式将在每次呈现组件时执行。

<div onClick={window.open("https://www.thechinesewriter.com")} className="downloadBut1">

你可能想要使用一个函数

<div onClick={() => window.open("https://www.thechinesewriter.com")} className="downloadBut1">

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM