i really hate react. it's like they took programming and turned it into Programming 2, Inexplicably Worse
Conversation
Notices
-
Embed this notice
✧✦Catherine✦✧ (whitequark@mastodon.social)'s status on Friday, 24-Oct-2025 13:20:29 JST
✧✦Catherine✦✧
-
Embed this notice
tef (tef@mastodon.social)'s status on Friday, 24-Oct-2025 13:20:29 JST
tef
@whitequark the thing that i have realised is that although react does wipe out a whole class of ui bugs with a virtual dom and a canonical place for ui state
it has also introduced a whole new class of bugs where user state lives outside of the vdom and is not preserved when nodes are removed and added back later
-
Embed this notice
✧✦Catherine✦✧ (whitequark@mastodon.social)'s status on Friday, 24-Oct-2025 13:20:29 JST
✧✦Catherine✦✧
@tef i'm actually having the exact inverse of this problem (every time i click a button i have an element appended to another element. why? no fucking clue, wasted 20 minutes on it already) but yes
-
Embed this notice
✧✦Catherine✦✧ (whitequark@mastodon.social)'s status on Friday, 24-Oct-2025 13:23:26 JST
✧✦Catherine✦✧
this is twenty minutes of my life i will never get back (×50)
-
Embed this notice
✧✦Catherine✦✧ (whitequark@mastodon.social)'s status on Friday, 24-Oct-2025 13:40:25 JST
✧✦Catherine✦✧
if javascript had a real effect system, react would've made sense. but as it is, react does not
-
Embed this notice
mcc (mcc@mastodon.social)'s status on Friday, 24-Oct-2025 13:42:19 JST
mcc
@whitequark *thinks*
In principle, could an effect system be in typescript while preserving typescript's (only mostly adhered to) party line that the typescript compiler is "erase only"
-
Embed this notice
✧✦Catherine✦✧ (whitequark@mastodon.social)'s status on Friday, 24-Oct-2025 14:51:56 JST
✧✦Catherine✦✧
@hailey @tef OH THAT IS WHY EVERYONE DOES that thank you 🧡 and also fuck React
-
Embed this notice
Hailey (hailey@hails.org)'s status on Friday, 24-Oct-2025 14:51:57 JST
Hailey
@tef @whitequark and a second whole class of bugs where you can really easily introduce accidental re-renders from all the footguns in the hook system
for example <MyComponent onEvent={() => …} /> will trigger a recursive re-render every single time because a new function instance is created right there. you gotta pull the closure out, wrap it with useCallback, and pass the memoised callback to onEvent instead.
and with all that boilerplate to do things correctly, what are even we gaining?
-
Embed this notice
✧✦Catherine✦✧ (whitequark@mastodon.social)'s status on Friday, 24-Oct-2025 15:00:09 JST
✧✦Catherine✦✧
@overflo @hailey @tef oh don't worry
nobody writes react because they _want_ to
you'll have to, in time
-
Embed this notice
overflo (overflo@23.social)'s status on Friday, 24-Oct-2025 15:00:10 JST
overflo
I was wondering if i want to check out react.
Thanks for this post, you saved me some precious lifetime.
-
Embed this notice
Hailey (hailey@hails.org)'s status on Friday, 24-Oct-2025 15:00:11 JST
Hailey
@whitequark @tef and you gotta manually specify dependencies - another potential source of errors - because the reactivity doesn’t extend so far that it can figure out the dependencies for you
-
Embed this notice
Dino Tutter (catboi29@mastodon.social)'s status on Friday, 24-Oct-2025 16:12:56 JST
Dino Tutter
@whitequark wait until you see Effect TS.
-
Embed this notice