DEV Community

Why use NextJS?

Bentil Shadrack on December 06, 2022

Introduction Next.js is an open-source, lightweight and JavaScript framework, which allows you to develop fast and user-friendly web app...
Collapse
 
parsadoc profile image
Adel Parsa

I developed two projects (almost big projects) and I realized that you can find many incompatible things in it, especially when you are using some libs like carousel slider, sometimes it doesn't work correctly, and also you need to know some important rules to use Next js, for example at the first load you don't access to the window because it's a server-side render and accessing to JS window object causes to undefined Object error.
actually, I saw that the Next Js is very fast but I prefer React JS (if SEO is not important)

Collapse
 
ijack80 profile image
David Mainoo

Hi there... isn't it possible to ensure that the code only accesses the window after the render with use effect hook?
Or could you also mess around with a custom document file so that the library sees what it needs?

Collapse
 
jareechang profile image
Jerry • Edited

You can make your code isomorphic (work on client and server) by checking which environment you are running in.

for example:

const isBrowser = () => typeof window !== 'undefined';
Enter fullscreen mode Exit fullscreen mode

Browser:

Image description

Node Environment:

Image description

This makes it easier to run your component on server or client (if you choose to add SSR with Next.js later).

Thread Thread
 
ijack80 profile image
David Mainoo • Edited

Wow, didn't know this before... thanks a ton ๐Ÿ™

...This just helped me to fix some hydration issues I was facing with some custom components.
Don't know if that's the best approach though, but for now Ill use it until I can properly resolve the issue

Thread Thread
 
jareechang profile image
Jerry

no problem!

What issue were you running into ?

Collapse
 
qbentil profile image
Bentil Shadrack

Awesome @parsadoc ๐Ÿ™Œโœ
Thank you for this input

Collapse
 
j471n profile image
Jatin Sharma

I fell in love with Next.js ever since I used it. It's just so awesome ๐Ÿ˜Ž

Collapse
 
qbentil profile image
Bentil Shadrack

Very true๐Ÿ˜

Collapse
 
davidsalomondev profile image
David Salomรณn

Create-React-Application required? that's not mandatory

Collapse
 
fruntend profile image
fruntend

ะกongratulations ๐Ÿฅณ! Your article hit the top posts for the week - dev.to/fruntend/top-10-posts-for-f...
Keep it up ๐Ÿ‘

Collapse
 
qbentil profile image
Bentil Shadrack

Thank you๐ŸŽ‰

Collapse
 
isalahyt profile image
iSalah-YT

I'm beginner but I love work with Next JS thx for this article ๐ŸŒบโค๏ธ

Collapse
 
qbentil profile image
Bentil Shadrack

You are most welcome

Collapse
 
akuoko_konadu profile image
Konadu Akwasi Akuoko

I've been searching for this extensively 9n the web, and here you are, such a savior ๐Ÿ™Œ

Thanks a lot Bentil

Collapse
 
qbentil profile image
Bentil Shadrack

I'm glad you like it ๐ŸŽ‰๐Ÿฅฐ

Collapse
 
kingsleyelliott profile image
Kingsley Elliott

Thank you for sharing this detailed information about Next.js! It seems like a powerful framework with many benefits for web development projects. I've actually integrated it with my ๆผซ็”ปraw website, and I must say, the results have been amazing.

Collapse
 
weaves87 profile image
Andrew Weaver

Great writeup! I haven't had a chance to use Next.js yet. Looking forward to tackling a project soon where I'll get to try it out

Collapse
 
qbentil profile image
Bentil Shadrack

Nice ๐Ÿ‘๐Ÿป