React.gg – An interactive way to master modern React
react.gg
react.gg
Best of luck to the creators, I'm sure they'll do well because React is job security for its adherents - the "IBM" of front end development.
It is true, but React isn't that bad. I think it's overused but being real, it has a lot of value.
Like this:
<Badge>
<Avatar img={user.img}>
<div>
...
However if the Badge should be concerned exactly with that use-case, it should not even allow having so much flexibility over the styles and it should be called something else because the name "Badge" is too valueable to waste / misleading at best. "AvatarBadge" would have done it betterI was scared by "50 custom hooks": why is that a good thing? (honest question). It seems daunting to have to learn when and why you'd use them.
The selling point of react hooks is that they're much easier to compose than class methods. The idea is you can easily build your own custom ones that are thin wrappers around one or more of the builtin ones.
This course is presumably walking you through building 50 high-quality hooks so that you're prepared to build your own. For example, one of the 50 is useFirestoreQuery. Understanding how to build that presumably prepares you to learn how to write useMyCorpNotificationMechanism.
A lot of their 50 are trivial but handy. For example
const useToggle = (initialState = false) => {
const [state, setState] = useState(initialState);
const toggle = useCallback(() => setState(state => !state), []);
return [state, toggle]
} const [state, toggle] = useToggle()
otherwise you'll end up causing unnecessary re-renders. Happens too often on hooks returning objects. You can also memoize the whole hook.I miss classes sometimes.
> The interactive way to master modern React
I was a bit disappointed, reading this I thought the game UI was interactive, but it's not (e.g. I could move the pawn using my mouse or keyboard).
It feels more “complete” to me than react in the sense that I don’t need to keep up with what’s going on with redux vs. alternatives, or what changes are in the latest version of react-router, or what’s going on with Next 13/server components, or update my webpack plugins or decide if I’m moving to vite. Long story short 95% of cases have an official solution.
Similarly, I don’t often have to look beyond the official Vue docs to fully understand how things work. React hooks are good enough but they don’t have the same approachability as Vue’s composition API.
I use Vue whenever I have to prototype something, their <script setup> syntax is awesome.
That being said, maybe the landing page is good enough of a demo of what they are offering.