Javascript 如何通过单击setState更改状态值
如何使用setState更新activeUrl值 这个州是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
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
,您会看到什么?