Can a React.JS expert help me to understand something?

In short, I would like to know what are the main differences between react version 15.6 and 17, in terms of browser issues, and component compatibility?

We have a legacy code base that is in version 15.6 and the team wants to upgrade it and I am attempting to argue with my dumb CTO to upgrade to version 17. However, I’m not versed in react, I'm just a PO and the CTO doesn't know anything but for some odd reason is adamant about staying on an older version. The developers gave me their opinion but I'm interested in an outside opinion.

  • 2
    In short: everything.

    The paradigm has completely shifted from 15 -> 16. From classes, HOC's & lifecycle methods (object-oriented) & Redux to resp. functional components, render props and hooks (functional) & context.

    You can gradually update some components and have it work alongside the old ones but you'll get tons of deprecation warnings. It will be a long journey and you may end up deciding that a rewrite from scratch strikes a better balance between cost & code quality.

    In a previous project I worked on we tried the gradual approach & it worked ok for a year or two and now they've decided it's become such an incoherent mess that they will rewrite from scratch.
  • 1
    PS: care to share your dev's opinion after you get some feedback here?
    PS2: hope your CTO isn't on devrant
    PS3: Cool a PO on devrant!
  • 2
    The project I was working on was written in class components and it was hot garbage. The previous team couldn't get anything done. The development speed improved dramatically after we switched to functional components. Old class components will still work in v17. And you can just disable all the deprecation warnings.

    Everything is written in hooks these days. If react version doesn't get updated, good people might leave.
  • 1
    You can update to the latest React version with no problem. everything would still work. If you're using TypeScript, you might see some errors here & there but even those shouldn't take long to just ts-ignore them for the time being
  • 0
    @webketje Thank you. The CTO is a complete moron. He fired all the senior developers and he brought in his own dev team. They’re not really developers that more like want to be interns. They respect me because I treat them well but the CTO treats them like trash. Because they are very junior, the only opinion was that new components are not compatible with the older version of the framework. I don’t know enough about react to even validate what they were saying and so I wanted the help of an expert do you want from here. Thank you for that
Add Comment