Flatiron - Phase 2

Aaron Gholson - Sep 8 '23 - - Dev Community

Phase 2 of my Flatiron journey is complete! I have to say, this phase gave me quite a bit more of a headache than the last one.

React is an open-source front-end JavaScript library for building user interfaces based on components. Essentially, it combines JavaScript and HTML to create JSX. Its purpose is to clean up the messiness of JavaScript and prevent users from becoming overwhelmed by their lengthy code files. Even though React is supposed to be easier to understand, I often found myself lost and confused while learning it. Luckily, for this post, I've narrowed down what was so confusing about React for me. The idea that you can pass props and states to different components can get very tricky. I often found myself losing track of props and states because I had a bunch of components to keep track of. This method is supposed to make React easier, but for me, it got my head spinning. However, after three weeks of practice, I'm feeling pretty confident when it comes to React.

For the project at the end of this phase, we had to create a React App from scratch. By the time the project came around, I wasn't too worried about the requirements, so I decided to challenge myself by taking on a task that I wasn't comfortable with: creating a Form. Think of it like creating an account on Facebook; a Form is where you fill out all the information in the boxes, and at the end, you submit that form to create your own profile. Doing this is tough; each section of the form has a state, and you have to keep track of these states to submit the form. Then comes the process of using the data you submitted on your form for whatever your app entails. Quite a challenge.

I ran into quite a few issues with my form, such as a section not holding text and another section getting deleted when you click off of it. In hindsight, fixing those bugs was easy, but I encountered a different problem that gave me a lot of headaches. Remember when I mentioned that components confused me? Well, I couldn't figure out why my form wasn't allowing me to post anything to my .JSON file. This made me struggle with rewriting code over and over, only to find out later that it was because of the component structure. An unfortunate setback, but eventually, I moved the form entirely and passed everything pretty easily. To be honest, I couldn't tell you why that seemed to work. I'm starting to love and hate that about coding; sometimes, you sit for hours trying to figure something out, and the simplest fix is to just change it slightly. Being stuck on something is frustrating but super satisfying when you fix it or just approach it in a different way. If anything, that problem shows that I still have work to do in studying React. I definitely challenged myself with this one, but I got it working in the end with help from my teammate.

This phase was a tough one, but I learned a lot in terms of material, as well as in thinking on my feet and problem-solving. In the next phase, we're going to tackle Python, which is supposed to be an easier coding language and a fan favorite. So, I'm pretty excited about that. No complaints about Flatiron School yet; it's a great program that teaches you a lot. I thought I would struggle to stay interested in the content, but so far, I'm loving it!

. . . . . .