问题描述
这是注销逻辑,这里的关键logoutoverlay,设置在本地存储中。
<div className="logout">
<NavLink href={propsData.userDataTopNavLinkList.logout} onClick={() => {
localStorage.removeItem("manage");
localStorage.removeItem("token");
localStorage.removeItem("auth");
localStorage.removeItem("AccountInfo");
localStorage.removeItem("successfullySet");
localStorage.removeItem("userImpression");
localStorage.removeItem("cartCnt");
localStorage.removeItem("callDuration");
localStorage.removeItem("customGeoIPInfo");
localStorage.removeItem("geoipInfo");
localStorage.setItem("logoutoverlay","form overlay")
}}> {dictionary.t("Logout","LOGOUT")}</NavLink>
</div>
在 Main.js 中,检查本地 localStorage
的键 logoutoverlay
if(localStorage.getItem("logoutoverlay"))
{
logoutDataLayer(localStorage.getItem("logoutoverlay"));
localStorage.removeItem("logoutoverlay");
}
在 dataLayerAnalytics.js 中,项目被推送到数据层
export const logoutDataLayer = (logoutplace) => {
let logoutDatalayer = {
"event": "loyaltyLogout","logoutContext": logoutplace
}
window.dataLayer.push(logoutDatalayer);
}
所有这些在我的本地机器上运行良好。但是在我将它部署到生产环境之后,Main.js 中的 localStorage.removeItem("logoutPlace")
没有被执行,代码也无法到达 localStorage.removeItem("logoutPlace")
。这就是“logoutoverlay”项不会从本地存储中删除的原因。
而且由于我无法在本地系统上复制此问题,因此我什至无法调试代码。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)