-
-
Notifications
You must be signed in to change notification settings - Fork 496
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Epic] Improve React curriculum #1301
Comments
FWIW I disagree about hooks being an elective... I think class components are something they should be able to recognize, but hooks are so much easier, and companies are moving to using them now. I bet they could learn it immediately after class/constructor stuff so they can be compared. |
@alodahl actually I found the opposite was true. Was this your own experience or from previous cohorts? I'm mostly concerned about interference where you try to learn two ways to do the same thing without fully understanding either of them. Participants also tried to mix and match the styles in one codebase which was a disaster. Hooks can certainly be required, but it should be moved much later after mastery of building non-trivial apps. Because we teach OOP and class-based components are simpler to understand in my experience, which is why I think they should come first. |
My own experience. But not doing constructors/state and hooks back to back makes sense to me. It can be done near the end, or could even be an elective, but I think they are becoming the standard. The reason I think its easier is because you don't have write a constructor, bind anything, remember to name it "this.state" or "this.anything", and it makes functional component coding much shorter and cleaner. My hunch is that it will save them a bunch of time and troubleshooting while they create their portfolio project. But if you think it will be confusing rather than helpful, I understand. |
Just to add more context to the "teach functional or class", while functional is definitely the norm for new code, in their internships they're still more likely to see class-based code. Just started a job in late 2020 with a fairly cutting edge tech stack and class based components are still all over the place in non-new UI code. To try to keep the lessons consistent and easier to maintain, I believe we effectively settled on:
Does that sound good? As time goes by the class-based components become a total relic, we can rethink the above. |
I moved React Hooks to week 13 (formerly career week) to avoid confusion. |
Are you sure you want to teach JS classes after React classes? That seems backwards to me. |
@alodahl agreed that would be backward. If you're referencing:
That's just meant to be a decision for the entire curriculum, not a lesson. If you remember from gssoc, I was strict on only allowing class-based component example code. I think it's pretty consistent now. Maybe in a few years we can switch to teaching functional exclusively 😁 |
Sticking with React class-based components is fine. I guess I want to make sure that things are taught in this order:
|
React had by far the biggest gaps in the curriculum. For example, Database (a much simpler concept) had over 5 lessons devoted to it.
Example feedback for cohort:
Areas of Improvement
Move React ahead to reinforce learning of HTML/CSSThis was cut from scope in H1-2021. It still might be a good idea but shelved for nowReplace Eventonica with tmdbWe instead improved existing Eventonica - see epic [Epic] Eventonica v2021 #1296 ✅The text was updated successfully, but these errors were encountered: