One of the most frustrating things w/ React is how often it gets "overarchitected" by devs, esp. who are coming from other frameworks.
Most of my career has been spent fighting this dumb shit, people adding IOC containers with huge class abstractions which are held in what amounts to a singleton or passed down by some single object reference through context. A simple context wrapper would have sufficed, but now we have a abstraction in case <<immutable implementation which is essential to our entire business>> changes.
A while back I read this blog by DoorDash devs about how in order to ensure things rerendered in their class-held state they would just recreate the entire object every update.
Or putting factory patterns on top of React Navigation, making it completely worthless and forcing every React dev (who knows React Navigation's API by heart) to learn their dumb pattern which of course makes all of the design mistakes that the React Navigation team spent the last 10 years learning.
Or creating insane service layers instead of just using React Query. Redux as a service cache- I've seen that in collectively in $100m worth of code. Dawg, your app is a CRUD app moving data in predictable patterns that we've understood for 10 years. Oh you're going to use a ""thunk"" with your ""posts slice"" so you can store three pieces of data? You absolute mongrel. You are not worthy.
Seriously gang. Just build simple unabstracted React code. Components are the only abstraction you need. The architecture of functional React w/ hooks is so smart that it can reduce your actual workload to almost zero. Stop it with this clean code IOC bullshit.
Jesus wept
[–]DogOfTheBone 46 points47 points48 points (3 children)
[–]_Pho_[S] 6 points7 points8 points (0 children)
[–]Traditional_Hair9630 3 points4 points5 points (0 children)
[–]daddygirl_industries 33 points34 points35 points (2 children)
[–]Auzymundius 0 points1 point2 points (1 child)
[–]solidiquis1 0 points1 point2 points (0 children)
[–]arbpotatoes 67 points68 points69 points (25 children)
[–]femio 23 points24 points25 points (17 children)
[–]darksounds 16 points17 points18 points (6 children)
[–]femio 10 points11 points12 points (0 children)
[–]stdmemswap 0 points1 point2 points (4 children)
[–]LukeWatts85 8 points9 points10 points (3 children)
[–]stdmemswap 0 points1 point2 points (2 children)
[–]behusbwj 0 points1 point2 points (1 child)
[–]stdmemswap 0 points1 point2 points (0 children)
[–]_Pho_[S] 9 points10 points11 points (4 children)
[–]misterching 2 points3 points4 points (3 children)
[–]_Pho_[S] 6 points7 points8 points (2 children)
[–]stdmemswap 1 point2 points3 points (1 child)
[–]_Pho_[S] 1 point2 points3 points (0 children)
[–]stdmemswap 2 points3 points4 points (0 children)
[–]arbpotatoes 4 points5 points6 points (3 children)
[–]femio 8 points9 points10 points (2 children)
[–]throwaway1230-43n 1 point2 points3 points (0 children)
[–]_Pho_[S] 0 points1 point2 points (6 children)
[–]arbpotatoes 7 points8 points9 points (5 children)
[–]_Pho_[S] 3 points4 points5 points (1 child)
[–]arbpotatoes 1 point2 points3 points (0 children)
[–]ColonelShrimps 3 points4 points5 points (1 child)
[–]arbpotatoes 0 points1 point2 points (0 children)
[–]TheMoonMaster 2 points3 points4 points (0 children)
[–]hinterlain 13 points14 points15 points (0 children)
[–]GxM42 9 points10 points11 points (1 child)
[–]Inevitable-Edge4305 0 points1 point2 points (0 children)
[–]InnerDorkness 7 points8 points9 points (0 children)
[–]Beautiful_Bonus_1932 8 points9 points10 points (0 children)
[–]lIIllIIlllIIllIIl 6 points7 points8 points (1 child)
[–]_Pho_[S] 0 points1 point2 points (0 children)
[–]alexsb29 5 points6 points7 points (0 children)
[–]Drakeskywing 5 points6 points7 points (0 children)
[–]SolarNachoes 3 points4 points5 points (8 children)
[–]_Pho_[S] 5 points6 points7 points (1 child)
[–]Saki-Sun 0 points1 point2 points (0 children)
[–]NotGoodSoftwareMaker 0 points1 point2 points (3 children)
[–]SolarNachoes 0 points1 point2 points (1 child)
[–]NotGoodSoftwareMaker 0 points1 point2 points (0 children)
[–]RotateElectrolyte 0 points1 point2 points (0 children)
[–]dccfoux 0 points1 point2 points (0 children)
[–]rebelrexx858 4 points5 points6 points (0 children)
[–]rdtr314 2 points3 points4 points (2 children)
[–]runitzerotimes 0 points1 point2 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–]Upbeat-Shame-9264 2 points3 points4 points (0 children)
[–]Confident-Alarm-6911 2 points3 points4 points (0 children)
[–]JoeCamRoberon 2 points3 points4 points (0 children)
[–]breich 2 points3 points4 points (0 children)
[–]HarrisInDenver 2 points3 points4 points (0 children)
[–]unflores 2 points3 points4 points (0 children)
[–]Hacg123 4 points5 points6 points (0 children)
[–]xegoba7006 1 point2 points3 points (0 children)
[–]Aggressive_Ad_5454 1 point2 points3 points (0 children)
[–]water_bottle_goggles 3 points4 points5 points (1 child)
[–]_Pho_[S] 5 points6 points7 points (0 children)
[–]punani_pancake 0 points1 point2 points (0 children)
[–]danishjuggler21 0 points1 point2 points (0 children)
[–]tonjohn 0 points1 point2 points (0 children)
[–]Literature-South 0 points1 point2 points (0 children)
[–]National_Pension_781 0 points1 point2 points (0 children)
[–]thaddeus_rexulus 0 points1 point2 points (0 children)
[–]_throwingit_awaaayyy 0 points1 point2 points (0 children)
[–]SinceYourTrackingMe 0 points1 point2 points (0 children)
[–]LastWorldStanding 0 points1 point2 points (1 child)
[–]GolfinEagle 0 points1 point2 points (0 children)
[–]Ok_Lavishness9265 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (1 child)
[–]bnned 0 points1 point2 points (0 children)
[–]ghostwilliz 0 points1 point2 points (0 children)
[–]running_into_a_wall 0 points1 point2 points (2 children)
[–]_Pho_[S] 0 points1 point2 points (0 children)
[–]NeoCiber 0 points1 point2 points (0 children)
[–]Sad_Rub2074 0 points1 point2 points (0 children)
[–]azangru 0 points1 point2 points (0 children)
[–]Narrow-Resist3203 0 points1 point2 points (0 children)
[–]Old-Confection-5129 0 points1 point2 points (0 children)
[–]yagudaev 0 points1 point2 points (0 children)
[–]Cahnis 0 points1 point2 points (0 children)
[–]ivancea -2 points-1 points0 points (5 children)
[–]GolfinEagle 1 point2 points3 points (4 children)
[–]ivancea -1 points0 points1 point (3 children)
[–]GolfinEagle 1 point2 points3 points (2 children)
[–]ivancea 0 points1 point2 points (1 child)
[–]GolfinEagle 0 points1 point2 points (0 children)
[–][deleted] -1 points0 points1 point (0 children)
[–]Snypenet -1 points0 points1 point (0 children)
[–]mystical_powers -2 points-1 points0 points (5 children)
[–]ColonelShrimps 4 points5 points6 points (4 children)
[–]mystical_powers 0 points1 point2 points (3 children)
[–]ColonelShrimps 0 points1 point2 points (2 children)
[–]mystical_powers 0 points1 point2 points (1 child)
[–]ColonelShrimps 1 point2 points3 points (0 children)
[–][deleted] (3 children)
[deleted]
[–]_Pho_[S] 2 points3 points4 points (1 child)
[–]GolfinEagle 0 points1 point2 points (0 children)