简体   繁体   English

我想在第一次加载时只刷新一次反应页面(功能组件),而不是在任何事件上而是在第一次渲染之后,怎么做?

[英]I want to refresh the react page(functional component) only once when it first loads, not on any event but after first render, how to do that?

I am trying to refresh/reload an page in a react functional component.我正在尝试在反应功能组件中刷新/重新加载页面。 But when i call但是当我打电话时

window.location.reload() window.location.reload()

in useEffect() hook, the page keeps refreshing forever.在 useEffect() 钩子中,页面永远保持刷新。 I want it to refresh only once after it mounts.我希望它在安装后只刷新一次。 How to achieve that?如何做到这一点? So far I tried this:到目前为止,我试过这个:

useEffect(
    () => {
        setNotificationCount();
        window.location.reload();
    },[]
)

You can store a flag inside the localStorage :您可以在localStorage中存储一个标志:

useEffect(
    () => {
        setNotificationCount();
        const alreadyLoaded = localStorage.getItem('alreadyLoaded');
        if (!alreadyLoaded) {
           localStorage.setItem('alreadyLoaded', true);
           window.location.reload();
        }
    },[]
)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 React:如何仅在从映射数组单击组件后才在页面上呈现该组件? - React: How do I only render a component on the page once I click on it from a mapped array? 如何仅在设置 state 后渲染反应组件? - How do I render a react component only after a state is set? 如何在页面第一次加载时执行Javascript警报 - How to execute Javascript alert when page loads the first time only 在 React.js 的功能组件中首次渲染之前调用 api - Call api before first render in functional component in React.js 如何在第一次加载页面时使用JavaScript / jQuery显示消息框? - How do I show a message box only the first time a page loads, using JavaScript / jQuery? 我只希望页面刷新一次 - i want my page refresh only once 直到单击事件后才加载画布图像...我想在页面加载时加载,如何? - Canvas images do not load until click event… I want to load when page loads, how? 反应如何在页面进入或刷新后只运行一次 function - React how to run a function only once, after page enter or refresh 如何在本机反应中只渲染一次警报组件? - How can I render only once an Alert component in react native? 当页面使用JavaScript / jQuery加载时,如何获取选择框的第一个选项以自动显示在div中? - How do I get the first option of a select box to display in a div automatically when the page loads with JavaScript/jQuery?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM