DEV Community

Cover image for Getting Started with React: Day 1 Exploration of Core Concepts
Hassan Shahzad Aheer
Hassan Shahzad Aheer

Posted on • Edited on

Getting Started with React: Day 1 Exploration of Core Concepts

Today, I'm taking my first exciting steps into the vast world of React. Picture me with a big grin, because I'm about to spill the beans on my fantastic first day. No need for complicated words – just imagine you're chatting with a friend. Armed with the official React guide, I've unraveled some super important stuff that I can't wait to share with you. Ready? Let's dive right in!

Note 1: Introduction to React Concepts

In just 30 seconds: React is a JavaScript library that empowers us to build incredible user interfaces. I've started by learning key concepts covered in the documentation:

  • Creating and nesting components
  • Adding markup and styles
  • Displaying data
  • Rendering conditions and lists
  • Responding to events and updating the screen
  • Sharing data between components

Note 2: Crafting Components

In a nutshell: Components are like building blocks in React. They're chunks of code that we can reuse. I created my first component, a button, and even nested it inside another component!

function MyButton() {
  return (
    <button>AOA, I'm a button</button>
  );
}
export default function MyApp() {
  return (
    <div>
      <h1>Welcome to my react world</h1>
      <MyButton />
    </div>
  );
}
Enter fullscreen mode Exit fullscreen mode

Note 3: JSX Magic

Simplifying UI: JSX is like a magical bridge between JavaScript and HTML. It makes writing UI elements feel natural. I used curly braces to mix JavaScript into my UI.

function Greeting() {
  const name = "Mr. Aheer";
  return <p>Hello, {name}!</p>;
}
Enter fullscreen mode Exit fullscreen mode

Note 4: Styling with Elegance

Making things pretty: Adding styles was surprisingly smooth. I used className to add CSS classes. Keeping style and logic separate is a win!

function StyledBox() {
  return <div className="styled">Styled Data!</div>;
}
Enter fullscreen mode Exit fullscreen mode

Note 5: Displaying Data

Showing off data: I learned to display data dynamically. Just wrap variables with curly braces, and voila!

function UserProfile() {
  const username = "Mr, Aheer";
  return <p>Welcome, {username}!</p>;
}
Enter fullscreen mode Exit fullscreen mode

Note 6: Conditionally Rendering

Custom experiences: React lets me show different things based on conditions. It's like giving a tailored experience to users!

function Greeting() {
  const isLoggedIn = true;
  return isLoggedIn ? <WelcomeMsg /> : <SignInForm />;
}
Enter fullscreen mode Exit fullscreen mode

Note 7: Rendering Lists Gracefully

Listing with ease: Creating dynamic lists is a breeze with the map() function. Giving each item a unique key is essential for smooth updates.

function ProductList() {
  const products = ["Shoes", "Hats", "Shirts"];
  return (
    <ul>
      {products.map((product, index) => (
        <li key={index}>{product}</li>
      ))}
    </ul>
  );
}
Enter fullscreen mode Exit fullscreen mode

Note 8: Interacting with Users

Talking back: I made my UI interactive by adding event handlers. Now my components can respond when users click!

function ClickCounter() {
  const [count, setCount] = useState(0);
  return (
    <div>
      <p>Count: {count}</p>
      <button onClick={() => setCount(count + 1)}>Click me</button>
    </div>
  );
}
Enter fullscreen mode Exit fullscreen mode

Note 9: Managing State with Hooks

State mastery: The useState hook lets me manage changing information in my components. It's like giving them memory!

function Counter() {
  const [count, setCount] = useState(0);
  return (
    <div>
      <p>Count: {count}</p>
      <button onClick={() => setCount(count + 1)}>Increment</button>
    </div>
  );
}
Enter fullscreen mode Exit fullscreen mode

Note 10: Sharing Data Between Components

Component teamwork: I shared data between components using props. It's like passing notes between friends!

function ParentComponent() {
  const message = "Hey there, fellow coder!";
  return <ChildComponent msg={message} />;
}
Enter fullscreen mode Exit fullscreen mode

Conclusion

Day one is a wrap! Exploring these fundamental concepts has ignited my passion for React. As I share my insights, I hope to light the way for others starting this journey. Let's learn, grow, and code together!

Stay tuned for more updates from my React learning journey.


Image of Timescale

🚀 pgai Vectorizer: SQLAlchemy and LiteLLM Make Vector Search Simple

We built pgai Vectorizer to simplify embedding management for AI applications—without needing a separate database or complex infrastructure. Since launch, developers have created over 3,000 vectorizers on Timescale Cloud, with many more self-hosted.

Read full post →

Top comments (0)

Postmark Image

Speedy emails, satisfied customers

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up