我对此有些困惑。我定义了一条名为classes/:id
的路线。在应用程序中导航到该路线时,将调用componentDidMount()
。但是,当重新加载页面或复制并粘贴URL时,页面将完全加载,但根本不会调用componentDidMount()
方法。
根据我的阅读,原因是因为即使重新加载页面也安装了相同的组件,这就是为什么生命周期方法会被触发的原因。
有什么方法可以解决这个问题?非常感谢您的帮助。谢谢!
最佳答案
如果您已经在componentDidMount
路线上,则不会再次调用classes/:id
。您可能需要按照以下方式进行操作:
componentDidUpdate(prevProps) {
if (this.props.id !== prevProps.id) {
// fetch or other component tasks necessary for rendering
}
}
关于react-router - React-Router-导航到URL时未调用componentDidMount,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34468052/