仅在值更改时重新加载
reload only when value is changed
只有在从一种内容切换到另一种内容时,我才尝试在此处重新加载浏览器。
React.useEffect(
() => {
if (props.isContentDefined)
window.sessionStorage.setItem("isContentDef", props.contentId);
var val = window.sessionStorage.getItem("isContentDef");
if (val !== "" && val) {
window.location.reload();
window.sessionStorage.clear();
}
},
[props.isContentDefined]
);
加载初始内容时 -> 无需重新加载。
当用户从一个内容切换到另一个内容时 -> 需要重新加载。
props.isContentDefined 可从后端获得
您可以像这样修改您的 'if' 条件,方法是检查会话值是否也不同于新的道具值。然后重新加载
React.useEffect(
() => {
if (props.isContentDefined)
var val = window.sessionStorage.getItem("isContentDef");
if (val !== "" && val && val !== props.isContentDefined)) {
window.location.reload();
window.sessionStorage.clear();
}else
window.sessionStorage.setItem("isContentDef", props.contentId);
},
[props.isContentDefined]
);
只有在从一种内容切换到另一种内容时,我才尝试在此处重新加载浏览器。
React.useEffect(
() => {
if (props.isContentDefined)
window.sessionStorage.setItem("isContentDef", props.contentId);
var val = window.sessionStorage.getItem("isContentDef");
if (val !== "" && val) {
window.location.reload();
window.sessionStorage.clear();
}
},
[props.isContentDefined]
);
加载初始内容时 -> 无需重新加载。 当用户从一个内容切换到另一个内容时 -> 需要重新加载。
props.isContentDefined 可从后端获得
您可以像这样修改您的 'if' 条件,方法是检查会话值是否也不同于新的道具值。然后重新加载
React.useEffect(
() => {
if (props.isContentDefined)
var val = window.sessionStorage.getItem("isContentDef");
if (val !== "" && val && val !== props.isContentDefined)) {
window.location.reload();
window.sessionStorage.clear();
}else
window.sessionStorage.setItem("isContentDef", props.contentId);
},
[props.isContentDefined]
);