Passing classnames as a props to the React component
In this tutorial, we are going to learn about how to pass the classnames as a props
to the react component.
Consider, we have a Button
component like this in our react app.
import React from "react";
export default function Button(props) {
return <button>{props.children}</button>;}
Now, we need to pass a css classname to the <Button>
component from a <App>
component.
To do this, first we need to add a prop
name to the <Button>
component.
import React from "react";
export default function Button(props) {
return <button className={props.cname}>{props.children}</button>;}
Now, inside an App
component we can pass a classname to the Button
component using cname
prop.
import React from "react";
import "./styles.css";
import Button from "Button";
export default function App() {
return (
<div className="App">
<h1>Hello React App</h1>
<Button cname="default-1">Default</Button> </div>
);
}
Sometimes, there is a default classname in Button
component and we need to pass extra classname from an App
component.
For that, we need to use template literals to interpolate the extra classname.
import React from "react";
function Button(props) {
return (
<button className={`box ${props.cname}`}> {props.children}
</button>;
);
}