当我们在React项目中有一个新版本时,使用PWA的用户由于拥有旧的缓存而无法进行最后更改,因此必须按 ctrl + < kbd> F5 重新加载,然后我们的更改生效,因此我们尝试找到解决该问题的最佳解决方案。
我想从react项目中为新用户删除所有用户的缓存。
答案 0 :(得分:1)
最后,我为我的项目解决了这个问题。
我在本地存储中定义了一个用于版本控制的变量,并在构建后保存了项目版本,并在第一个React文件(例如componentDidMount()
中的Routes.js
)中检查了版本,如果它们不匹配,请运行代码下方:
window.location.reload(true);
示例:
componentDidMount(){
let name = 'Project-Name'
let version = '1.0.0'
console.log(`${name} v${version} ?`)
const last_version = localStorage.getItem(`${name}-Version`)
if(last_version !== version){
console.log('New Version Available ! ?')
localStorage.setItem(`${name}-Version`, version)
window.location.reload(true);
}
}