DEV Community

loading...

Have React hooks replaced class lifecycle methods 🤔?

supunkavinda profile image Supun Kavinda ・1 min read

Discussion (6)

pic
Editor guide
Collapse
s_aitchison profile image
Suzanne Aitchison (she/her)

I think the official React docs explicitly say they encourage devs to start using hooks going forward, but as far as I know there's no plan to deprecate class components and the older way to manage lifecycle events.

I wouldn't be surprised if the React docs start to reflect that more and more eg in code examples, with hooks being the default implementation shown

Collapse
supunkavinda profile image
Supun Kavinda Author

Yes, I was confused because the React Hooks introduction encourages React hooks, but the documentation mostly includes code with class components. Is this because React hooks are new? But, it was 2018 when hooks were introduced, according to Google.

Collapse
s_aitchison profile image
Suzanne Aitchison (she/her)

I've only seen companies start to adopt hooks in the last year really, and a lot haven't adopted them at all yet. I reckon we'll start to see the docs catching up to the new "normal" sometime this year 🔮

Collapse
juliusdelta profile image
JD Gonzales

Not entirely.

Hooks are still so new that best practices haven't entirely been figured out. If you are looking for a certain stability and confidence in your component side effects, I think classes would provide the best way. That being said, at my job we're using hooks in new code, but we're not putting in much effort into refactoring old code quite yet until we develop code quality standards and guidelines for how to really use hooks.

Collapse
fantasticsoul profile image
幻魂

see Concent, A predictable、zero-cost-use、progressive、high performance's enhanced state management solution,

here is a online demo to show you how Concent unified the life cycle method with setup feature
codesandbox.io/s/nifty-cdn-6g3hh

Collapse
crabara profile image
Craig Rabara • Edited

They have for me. I only use hooks, and haven't needed to write a class component yet.