首页 > 解决方案 > 我的 on click 处理程序有问题,它触发了 3 次并且无法正常工作,我开始感到沮丧,请

问题描述

它在 JSX 我不知道这个问题,或者我可能不理解反应的范围我尝试了事件监听器,但它也没有工作

import "./Navbar.css"
import React from 'react'
  


function Navbar() {
    function scrolldown(){
        alert("d")
    }
    return (
        <div class="navbar">
            <a href="/"id="home" class="navbar a">home</a>
            <a onClick={scrolldown()}id="Contact-us"class="navbar a">Contact us</a>
        </div>
    )
}

export default Navbar

C

标签: javascriptreactjs

解决方案


在您的情况下onClick={scrolldown()},这意味着您将在第一次渲染中调用 scrolldown() 而无需单击。如果要在单击 html 标记时滚动,请使用回调。onClick={() => scrolldown()}

你实际上可以在没有 js 的情况下做到这一点。据我了解,您想向下滚动到联系人部分。给 id="some-id" 联系 elemnt 然后使用#anchor。例如联系


推荐阅读