Re:Select * from cloud
by Scarbutt on Friday September 30, 2022 @01:23PM
(#33037763)
React is implemented using OOP, which I think is great for libraries that are defining and defending boundaries.
[ Parent
| on HN ]
That's like saying the Glasgow Haskell Compiler is implemented in part with C, therefore Haskell is imperative.
The React "way" is very much leaning into pure immutable data that flows through components which react to changes. Components aren't objects in the OOP sense. You don't call methods on them to update their internal state.
Never said React was imperative.
Re:Select * from cloud
by continuational on Friday September 30, 2022 @02:51PM
(#33039031)
Hooks is not really OOP. The original OOP interface was abandoned because it lead to a very complicated lifecycle that was hard to reason about.
I'm referring to the implementation of React, not its API.
Can confirm, unless it's changed radically since I last looked at it, yes, everydamnthing in React ends up as an object representing a component, and I don't just mean in the way that JS functions are technically also objects.
Except the little detail that JavaScript is an OOP language in the linage of SELF, where even basic types have methods.
Re:Select * from cloud
by mirekrusin on Friday September 30, 2022 @02:53PM
(#33039072)
No, it's not.
It is, in large part, right down at what you might call the heart of the whole thing. Though I haven't read the React source code since a bit after Hooks were added so I guess maybe that's changed—though I doubt it.