Starting React: What Learning a New Technology Is Teaching Me
What I Found When Starting to Learn React
My journey of learning something new as a software developer.
Starting to learn a new technology can be exciting, but it can also be challenging, especially when you're already familiar with another programming language or framework.
Recently, I started learning React. After spending time learning C# and applying what I learned by building my own POS application, I decided it was time to explore something new and expand my development skills.
I thought learning React would be straightforward, but I quickly realised that there were things I needed to understand before I could become comfortable with it.
1. JavaScript Comes First
One of the first things I realised was the importance of understanding JavaScript before diving too deeply into React.
Coming from C#, I was already familiar with programming concepts such as variables, functions, classes, and object-oriented programming. However, JavaScript has its own syntax, behaviour, and way of doing things.
For example, in C#, I might write:
string name = "Thandolwethu";In JavaScript, I can write:
const name = "Thandolwethu";Although both examples declare a variable, JavaScript introduces me to different ways of working with data, functions, and objects.
This taught me an important lesson: knowing one programming language doesn't mean you automatically understand another. Sometimes, you need to slow down and learn the differences instead of assuming everything works the same way.
2. React Is Not a Programming Language
Another thing I discovered is that React is not a programming language. It is a JavaScript library used to build user interfaces.
This means that learning React also involves understanding JavaScript and how React uses it to create interactive applications.
One of the concepts I started learning was JSX, which allows me to write HTML-like syntax inside JavaScript.
For example:
function Post() {
return (
<div>
<h2>My Learning Journey</h2>
<p>I am learning React.</p>
</div>
);
}
export default Post;At first, this syntax felt different from what I was used to. But as I continued practising, I started understanding how components allow developers to organise their interfaces into reusable pieces.
3. Understanding Components and Props
One of the first practical concepts I explored was creating functional components.
A component allows me to create a particular part of an application's user interface and reuse it where needed.
I also started learning about props, which allow components to receive data from their parent components.
For example:
function Post(props) {
return <h2>{props.title}</h2>;
}
export default Post;I can then pass a title to the component:
<Post title="My First React Project" />This helped me understand how data can be passed between components.
I'm still practising these concepts, but I am beginning to see how they can help me build applications that are easier to organise and maintain.
4. Learning Something New Requires Patience
One thing I have had to remind myself of is that I am a beginner in React, even though I already have experience in software development.
When I learned C#, I spent time understanding object-oriented programming, classes, methods, and how different parts of an application communicate.
Now, with React, I am building on that foundation while learning a different way to develop user interfaces.
Sometimes, I need to revisit a concept, read the documentation again, or write a small example to understand what is happening.
And that is okay.
I am learning that progress doesn't always mean understanding everything immediately. Sometimes, progress means being able to explain a concept today that confused me yesterday.
5. I Want to Understand, Not Just Copy Code
One of my goals is to understand why my code works, not simply copy examples from a tutorial.
When I write a component, I want to understand what makes it work. When I pass props, I want to understand how the data reaches the component. When something goes wrong, I want to learn how to identify and fix the problem.
This is important to me because I want to become a better software developer, not someone who can only follow instructions.
As I continue learning React, I want to challenge myself to build small projects, practise consistently, and apply what I learn to real-world problems.
Final Thoughts
Starting React has reminded me that becoming a better developer requires a willingness to be a beginner again.
My previous experience with C# has given me a foundation, but it doesn't remove the need to learn new concepts and adapt to a different technology.
I am still learning, still making mistakes, and still figuring things out.
But this is part of the journey.
I don't expect to master React overnight. My goal is to understand the fundamentals, build confidence through practice, and gradually become capable of developing more complex applications.
One thing I am learning is that growth in software development isn't about knowing everything. It's about being willing to learn what you don't know.
This is only the beginning of my React journey, and I'm looking forward to seeing how much I will learn along the way.
One concept, one component, and one day at a time.

Comments
Post a Comment