4 ms·
React is implemented using OOP, which I think is great for libraries that are defining and defending boundaries.
by Scarbutt 4y ago
React is implemented using OOP, which I think is great for libraries that are defining and defending boundaries.
- continuational 4y agoHooks is not really OOP. The original OOP interface was abandoned because it lead to a very complicated lifecycle that was hard to reason about.
- pjmlp 4y agoExcept the little detail that JavaScript is an OOP language in the linage of SELF, where even basic types have methods.
- Scarbutt 4y agoI'm referring to the implementation of React, not its API.
- yamtaddle 4y agoCan 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.
- mirekrusin 4y agoNo, it's not.
- yamtaddle 4y agoIt 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.
- kortex 4y agoThat'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.
- Scarbutt 4y agoNever said React was imperative.