3 ms·
> and I still have no idea how I only do stuff on the client in a SSR environment (stuff that i did in componentDidMount) The 'useEffect' hook - it won't be ex
by allover 7y ago
> and I still have no idea how I only do stuff on the client in a SSR environment (stuff that i did in componentDidMount)
The 'useEffect' hook - it won't be executed if you use e.g. ReactDOMServer.renderToString() for SSR
useEffect(() => {
console.log('Client side only');
}, []);
Codesandbox: https://codesandbox.io/s/peaceful-dew-nvw83 https://codesandbox.io/s/peaceful-dew-nvw83
- azimuth11 7y agoWhile you wouldn't want to leave "console.log" in your code in production, you can use them in function components just like a classes' render methods. A better example (from the video "React Today and Tomorrow and 90% Cleaner React With Hooks" from October[1]) is something along the lines of updating document.title = `${some} Page` or possibly calling an API. [1]: https://www.youtube.com/watch?v=dpw9EHDh2bM https://www.youtube.com/watch?v=dpw9EHDh2bM
- allover 7y agoThe console.log was only there to illustrate that the code in useEffect's callback is only being run on the client-side (see the codesandbox I linked to). I think it's clear from the parent I was responding to that they have better use-cases in mind :)