采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
如果有两个页面有使用useDocumentTilte这个hook,先在这两个页面切换,这时title是正确的,但是如果这时再切换到一个没有使用这个hook的页面,那这个页面会是最后一次有用这个hook的title,那个设置也没有用。
hi, 你说的有道理,这个确实是这个hook的一个局限,虽然它带有'退出还原'的功能,但是只能'退出还原'到上一个document title. 但是这个并没有什么完美的解决方法,想象一下如果我们不用这个hook,用纯 js 来控制,也是会面临相同的问题的,所以这个问题和这个hook关系不大,而是只要处理document title就会面临的. 我想到有两个方案:
每个路由都指定document.title
把hook里这里的代码:
if (!keepOnUnmount) { // 如果不指定依赖,读到的就是旧title document.title = oldTitle; }
改成
if (!keepOnUnmount) { // 注意这里变成了defaultTitle,也就是默认标题 document.title = defaultTitle; }
这个供你在实际使用的时候参考
老师,react-router不是能直接设置各个路由页面的title吗,直接放在router里不会比较方便吗
react-router可以做这件事吗,这个我还真不知道
登录后可查看更多问答,登录/注册
解锁 React17 高阶用法,轻松应对大型复杂长周期项目
2.8k 2
3.1k 7
2.0k 2
1.7k 2
1.8k 1