如何延迟 NavLink 的react?

IT技术 javascript reactjs react-router react-router-v4 react-router-dom
2021-05-15 03:20:09
Delay = (e) => {
    e.preventDefault()
    setTimeout(() => {
        e.unpreventDefault() //make this work
    },500)
}

render() {
    <NavLink
        to='/About'
        onClick={this.Delay}
    >
        Delay Me!
    </NavLink>
}

单击 NavLink 后,我想在转到“/关于”之前等待 500 毫秒。我怎么做?

编辑:我想使用 NavLink activeStyle 属性

1个回答

首先,包装您的组件 use withRouter文件

import { withRouter } from 'react-router'

withRouter(Component)

然后用于this.props.history.push('/About')在您的延迟功能中导航。文件

Delay = (e) => {
    e.preventDefault()
    setTimeout(() => {
        this.props.history.push('/About')
    },500)
}