我对这个有点难过.我定义了一个叫做的路线classes/:id
.当在应用程序中导航到该路线时,componentDidMount()
会调用该路线.但是,当重新加载页面或复制并粘贴URL时,页面会完全加载,但componentDidMount()
根本不会调用该方法.
从我所读到的,原因是因为即使重新加载页面也安装了相同的组件,这就是为什么生命周期方法会被解雇的原因.
有哪些方法可以解决这个问题?非常感谢您的帮助.谢谢!
componentDidMount
如果您已经在classes/:id
路线上,则不会再次调用。您可能需要按照以下方式进行操作:
componentDidUpdate(prevProps) { if (this.props.id !== prevProps.id) { // fetch or other component tasks necessary for rendering } }