when I'm trying to see my status after change to offline, in line 6 with 'console.log(status)' prints 'true' why this happening?
Here is my Code
const useNetwork = (consolePrint) => {
const [status, setStatus] = useState(navigator.onLine);
const networkChange = () => {
setStatus(navigator.onLine);
console.log(status);
consolePrint(navigator.onLine);
}
useEffect(() => {
window.addEventListener('online',networkChange);
window.addEventListener('offline',networkChange);
return () => {
window.removeEventListener('online',networkChange);
window.removeEventListener('offline',networkChange);
};
},[])
return status;
}
const App = () => {
const consoleNetwork = (status) => {
console.log(status ? 'We are online' : 'we are offline');
}
const onLine = useNetwork(consoleNetwork);
return (
<div>
<h1>{onLine ? "online" : "offline"}</h1>
</div>
)
};
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>