Featured image credit: Photo by
j zamora on
Unsplash.
Learning Landmarks
I haven’t been keeping up with my logs because I’ve been working on lots of projects! I wanted to take a moment and write a quick post about my experiences learning ReactJS. For a long time, I was hesitant to dive in and start deep, active learning. I went back and forth a lot about which framework to choose before just committing.
About two months ago, Marty gave me some advice and said to just work on some projects that use the tools and go from there. I did enjoy completing a small prototype using VueJS before actually finishing a React project, but I then completed three React projects afterward. This did two things — 1) motivated me to keep learning, and 2) helped me understand the differences between these amazing tools. Diving into, and completing, projects is one of the most rewarding ways to learn and why I believe strongly in the power of project-based learning.
Advice For New Learners
When I’m asked about learning modern JavaScript frameworks, my answer is to always start with ‘Vanilla JavaScript’ first and to resist any temptations to dive into React (and Webpack, and Babel, and Redux, and so on…) before learning JS. One of the things that appeal to me the most about React is that it leverages core JavaScript concepts. I found that by rounding out my ES2015 (and everything that comes after…) skills, I also leveled up my React skills. I had to take time to unpack examples and work through the code and align my brain with the component system. However, there have been a few key moments where things just started to click. Once I started developing a workflow where I could start seeing web pages as a composition of components I made huge progress.
Assessing Progress
While completing projects is rewarding in itself, I like to conduct self-assessment on my learning whenever possible. I just took my second adaptive skill assessment for React through Pluralsight with huge gains in about 6 weeks (I’m now toward the higher end of the curve!) While this is validating and I feel great about the progress, I completely acknowledge that I still have much to learn. It’s possible (and beneficial) to celebrate improvement and success while acknowledging that there is much more to learn. I love learning and sharing knowledge with others, so I believe that adopting a learner’s mindset at all times is very beneficial. I attribute all of it to active practice on real projects and deepening my core JavaScript skills. Discovering GatsbyJS (and then NextJS) provided lots of inspiration for working on real projects while learning React. However, before I dove into each of those tools I spent time building my core understanding of React, aided by the fantastic Create React App scaffolding tool. Even still, for each new React concept, I tried to practice one core JS skill/concept. Through some reflection this weekend while working on a project I definitely believe that committing to diving into JS is one of the best learning decisions I’ve ever made, but I’m extremely sympathetic and aware of the extreme difficulties involved in navigating the seas of modern JS tooling as a total beginner.
I plan to extend on this post at a later point. I just wanted to quickly share some of my recent thoughts.
Webmentions
Notice: Trying to get property of non-object in /var/www/jonathanprozzi.net/html/wp-content/plugins/crayon-syntax-highlighter/crayon_wp.class.php on line 717
Notice: Trying to get property of non-object in /var/www/jonathanprozzi.net/html/wp-content/plugins/crayon-syntax-highlighter/crayon_wp.class.php on line 727
j-p mentioned this article on jonathanprozzi.net.