Monday, 3 February 2025

React Basics

Let's get your React app up and running! Here's a refined version of your instructions:

1. Install Node.js:

Download and install the latest version of Node.js from nodejs.org. After installation, verify it by opening your command prompt or terminal and running:

Bash
node -v

You should see the installed version (e.g., v18.15.0).

2. Create a Vite React Project:

Use npm to create a new Vite project:

Bash
npm create vite@latest

You'll be prompted with a few choices:

  • Type y and press Enter to proceed.
  • Select the Vite version (e.g., 4.1).
  • Enter your project name (e.g., react-app).
  • Choose React as the framework.
  • Select TypeScript as the variant.

This will create a new directory for your project (e.g., react-app).

3. Navigate to the Project Directory:

Bash
cd react-app

4. Install VS Code (Optional but Recommended):

If you don't have it already, download and install Visual Studio Code from code.visualstudio.com.

5. Install Project Dependencies:

Navigate to your project directory in the terminal (if you're not there already) and install the necessary dependencies:

Bash
npm install

6. Open the Project in VS Code:

Bash
code .

This command opens the project directory in VS Code.

7. Run the Development Server:

Open the terminal within VS Code (View -> Terminal) and start the development server:

Bash
npm run dev

This will start the development server, and you'll see a URL in the terminal, similar to http://localhost:5173/.

8. View the Webpage:

Click on the URL in the terminal to open the webpage in your browser. You should see the default Vite React app.

9. Create a Component (e.g., Message.tsx):

Create a new file named Message.tsx in the src folder of your project. You can then add your React component code to this file. (You didn't include the code you wanted to add, but this gets you to the point where you can add it.) 

TypeScript
// Message.tsx (Pascal Casing for component name)
function Message() {
  // JSX (not JSXML)
  const name = "RMC"; // You can uncomment this line to use the name variable

  if (name) {
    return <h1>Hello {name} World</h1>;
  }
  return <h1>Hello World</h1>;
}

export default Message;


// App.tsx
import Message from './Message';

function App() {
  return (
    <div>
      <Message /> {/* Shorthand for <Message></Message> */}
    </div>
  );
}

export default App;

Explanation of Changes and Best Practices:

  • JSX: The code within the return statement is JSX, not JSXML. JSX is a syntax extension that allows you to write HTML-like code within JavaScript.
  • Pascal Casing: The component name Message follows PascalCase convention (first letter of each word capitalized), which is standard practice for React components.
  • Conditional Rendering: The if (name) block demonstrates conditional rendering. If the name variable has a truthy value (not null, undefined, 0, false, or an empty string), the first <h1> is rendered. Otherwise, the second <h1> is rendered.
  • Shorthand for Self-Closing Tags: <Message></Message> can be shortened to <Message />. This is the preferred way to write self-closing tags in JSX.
  • name variable: I've left the const name = "RMC"; line commented out. You can uncomment it to see the "Hello RMC World" message. If you leave it commented out, it will display "Hello World".
  • Browser Check: After making these changes and saving the files, your browser should automatically update with the new content when the development server is running (npm run dev). If not, you might need to manually refresh the page.




Integrating Bootstrap 5.2.3 into your React Project in VS Code

This blog post will guide you through the process of integrating Bootstrap 5.2.3 into your React project using VS Code. We'll set up Bootstrap, create a simple ListGroup component, and demonstrate how to use Bootstrap classes for styling.

Step 1: Install Bootstrap

Open your terminal window in VS Code and install Bootstrap using npm:

Bash
npm i bootstrap@5.2.3

Step 2: Clean up CSS Files

  • App.css: Delete all content within the App.css file and save it.
  • index.css: Delete all content within the index.css file and save it.

Step 3: Import Bootstrap CSS in main.tsx

Replace the existing import statement in your main.tsx file:

TypeScript
import './index.css' // Remove this

with:

TypeScript
import 'bootstrap/dist/css/bootstrap.css'

Step 4: Create the ListGroup Component

  1. Create a directory named components under the src directory.
  2. Inside the components directory, create a file named ListGroup.tsx.
  3. Initially, add the following content to ListGroup.tsx:
TypeScript
function ListGroup() {
    return <h1>ListGroup</h1>
}
export default ListGroup;

Step 5: Use the ListGroup Component in App.tsx

Edit your App.tsx file and replace its contents with:

TypeScript
import ListGroup from "./components/ListGroup";

function App() {
  return <div><ListGroup /></div>
}

export default App;

Step 6: Populate the ListGroup Component

Replace the contents of ListGroup.tsx with the following code:

TypeScript
function ListGroup() {
  const items = [
    "Chennai",
    "Bombay",
    "New Delhi",
    "Bangalore",
    "Madurai",
    "Calcutta",
  ];

  return (
    <>
      <h1>List</h1>
      <ul className="list-group">
        {items.map((item) => (
          <li className="list-group-item" key={item}>{item}</li> // Added key prop and list-group-item class
        ))}
      </ul>
    </>
  );
}

export default ListGroup;

Key improvements in this version:

  • list-group and list-group-item classes: We've added the necessary Bootstrap classes to style the list and its items.
  • key prop: It's crucial to add a unique key prop to each list item when using map. This helps React efficiently update the list. We're using the item itself as the key in this example, which works as long as the items are unique. In more complex scenarios, you might use an ID or index.

Step 7: Check in the Browser

Open your browser and inspect the rendered list. You should see the list styled with Bootstrap's default list group styles. You can further customize the appearance by adding more Bootstrap classes or custom CSS.

This guide has shown you the basic steps to integrate Bootstrap into a React project and create a styled list component. From here, you can explore Bootstrap's extensive component library and styling options to build more complex and visually appealing user interfaces.

No comments:

Post a Comment

Dockerize Agent -Document Processing

 Since you are using Flask in Agent.py , I will modify the Dockerfile and steps accordingly. [WIP] 1. Update the Dockerfile Create a Do...