How to Access Props Inside Quotes in React JSX?
Last Updated :
03 Oct, 2024
Props are used to pass data from parent to child components in react. We can access the props inside quotes in JSX like HTML attribute with the help of ES6 Template Literals and javascript expressions with curly braces
Approach
To access Props inside quotes in React JS we will use the curly braces {} and ES6 template literals. The curly braces enable dynamic values as the props that can be used in JSX. Both of the methods are given below in detail.
Steps to Create React Application
Step 1: Create a React application using the following command:
npx create-react-app foldername
Step 2: After creating your project folder i.e. foldername, move to it using the following command:
cd foldername
Project Structure:
Project StructureThe List of dependencies in the package.json are:
"dependencies": {
"@testing-library/jest-dom": "^5.17.0",
"@testing-library/react": "^13.4.0",
"@testing-library/user-event": "^13.5.0",
"react": "^18.0.0",
"react-dom": "^18.0.0",
"react-scripts": "5.0.1",
"web-vitals": "^2.1.4"
},
Approach 1: Using Curly braces {}
Access props by placing the JavaScript expression inside curly braces, allowing dynamic values to be inserted into attributes or text.
Example: In this example, props are accessed inside JSX quotes by placing the JavaScript expression props.image within curly braces inside the src attribute.
JavaScript
// Filename - src/App.js
import React from "react";
const App = (props) => {
return (
<div>
<img
alt="React Logo"
// Putting js expression inside curly braces
src={props.image}
/>
</div>
);
};
export default App;
JavaScript
// Filename - src/index.js
import React from "react";
import App from "./App";
const root = ReactDOM.createRoot(document.getElementById("root"));
root.render(
<React.StrictMode>
<App image="https://legacy.reactjs.org/logo-og.png" />
</React.StrictMode>
);
Approach 2: Using ES6 Literals
Use template literals inside curly braces to embed props dynamically within a string, enabling more flexible combinations of static and dynamic content.
Example: In this example, ES6 template literals inside JSX allow dynamic access to props by wrapping the props.image in backticks and curly braces within the src attribute.
JavaScript
// Filename - src/App.js
import React from "react";
const App = (props) => {
return (
<div>
<img
alt="React Logo"
// Using ES6 template literals
src={`${props.image}`}
/>
</div>
);
};
export default App;
JavaScript
// Filename - src/index.js
import React from "react";
import App from "./App";
const root = ReactDOM.createRoot(document.getElementById("root"));
root.render(
<React.StrictMode>
<App image="https://legacy.reactjs.org/logo-og.png" />
</React.StrictMode>
);
Step to Run Application: Run the application using the following command from the root directory of the project:
npm start
Output: