Javascript 如何通过单击setState更改状态值

Javascript 如何通过单击setState更改状态值,javascript,reactjs,Javascript,Reactjs,如何使用setState更新activeUrl值 这个州是 state = { activeUrl: '' } 功能 const handleActiveMenu = () => { let splitUrl = window.location.href.split('/') let assignActive = splitUrl[4] this.setState({ activeUrl: assignActive }) } 组件 <Li

如何使用setState更新activeUrl值

这个州是

state = {
   activeUrl: ''
}
功能

const handleActiveMenu = () => {
      let splitUrl = window.location.href.split('/')
      let assignActive = splitUrl[4]
      this.setState({ activeUrl: assignActive })
}
组件

<Link
                className={`${activeUrl === '' ? classes.borderBottom : null}`}
                onClick={() => handleActiveMenu}
                to="/"
              >
                Beranda
              </Link>

              <Link
                className={`${
                  activeUrl === 'profil' ? classes.borderBottom : null
                }`}
                onClick={handleActiveMenu}
                to="/profil"
              >
                Inisiatif
              </Link>
handleActiveMenu}
to=“/”
>
贝兰达
Inisiatif

当我尝试console.log时,activeUrl没有更改,但在我单击2次后,该值发生了更改。

据我所知,对链接的一次单击(如果是来自react router dom的链接)可能不起作用。如果达到handleActiveMenu,请尝试log.console或调试


除此之外,当我正确解释代码时,您希望在单击链接->后设置活动URL,您不应该在链接组件的onClick中进行设置,请尝试在您调用的组件中进行设置,例如在componentDidMount事件中。

此。使用新值设置状态
就足够了。你想在哪里记录状态更新?嗨!请使用演示问题的工具更新您的问题,最好是使用堆栈片段(
[]
工具栏按钮)运行的工具。堆栈代码段支持React,包括JSX。乍一看,这段代码还可以,但很难判断它在哪里(例如,您在哪里创建处理程序函数?)。如果您记录
splitUrl
,您会看到什么?