The product page for Mosh’s React Native mobile app course lists the following knowledge as pre-requisites:
Fundamental React concepts (components, JSX, props, state, etc)
Modern JavaScript features (arrow functions, modules, destructuring, spread operator, etc.)
I am a .NET dev with very minimal JavaScript experience and no React experience.
Which course(s) of Mosh’s should I explore first to get these concepts down? Do any of his free YouTube videos cover enough of the above concepts? I don’t mind paying, but I know he has some good ones on YT with plenty of great content.
Hi nola111, coming also from .NET, React is very different and Javascript has some new language features that need to be learned. I recommend Mosh’s React course first, then attempt to learn React Native.
You should have no problem, I recommend increasing the speed since he talks a bit slow (This is a good thing for some). The course is really good!
I’ve been through most of Mosh’s .NET courses on Udemy, and I did the React, NodeJs and React Native courses here. I consider myself a .NET Programmer (since the early betas of .NET in 2000), but I’m trying to see what React has to offer until Blazor WASM (or something else?) matures. Or maybe until the Robots take over all the coding projects…
I’d recommend going through his shorter Youtube videos on React and Javascript, which are both excerpted from courses on here. The first two videos are on the basics of Javascript, and then the introduction of the most common features of ES6 (“Modern Javascript”) that you need to know for programming with React.
JavaScript Tutorial for Beginners: Learn JavaScript in 1 Hour [2020]
ES6 Tutorial: Learn Modern JavaScript in 1 Hour
The next Youtube video is on React and it’s an excerpt from the “Mastering React” course here. It covers the basic fundamental concepts of the React library.
React Tutorial for Beginners (2.5 hours)
If your main goal is to go straight to creating React Native applications, I personally wouldn’t recommend going through the “Mastering React” course here. My reasoning is that while they both use the React.js library, building mobile apps is different enough from building web apps, and what you learn in the “Mastering React” course applies better to building CRUD web apps. Also, the React Native course, uses the “Hooks” paradigm and the “Mastering React” uses the older “Classes” style of building React components. The “Mastering React” class has a 1 hour addendum that covers “Hooks”, but it’s more of an afterthought.
You can Google: “react hooks vs classes” if you want more insight on the difference between the two. I personally think “Classes” are just fine, and there is a ton of code out there using “Classes” (you can intermix both “Classes” and “Hooks” in the same project), but it seems like “Hooks” are the future. You see, it’s not just rampant churn in .NET (Web Forms → MVC → MVC Core → Razor Pages → Blazor Server → Blazor WASM, etc), it’s everwhere!
The first two hours of the React Native course is on Youtube, and it mostly covers the development environment setup and a tutorial on the visual components that you will use to construct your UI and how you lay them out. The next 10+ hours are when Mosh really takes off and starts building the application. I think it’s a solid course and while Mosh doesn’t cover every single aspect of React Native/Expo, he builds out a decent, well-written sample application.
React Native Tutorial for Beginners - Build a React Native App [2020]
I’d suggest starting with some fundamental courses like JavaScript and React.js to build a solid foundation before diving into React Native. That’s how I approached it, and it really helped me grasp the concepts better. Speaking of courses, have you considered checking out HRDF claimable courses? I found some great ones on Training Asia that not only enhanced my skills but also made learning more accessible and affordable.
If you need fundamentals then consider freecodecamp as well. They have different paths and lots of little practical coding assessments to get you to develop muscle memory.