React Evergreen is a popular front-end library with a set of React components for building beautiful products as this library is flexible, sensible defaults, and User friendly. Tab Component allows the user to switch between components present in given different tabs. It is used for organizing our content in logical groups. We can use the following approach in ReactJS to use the Evergreen Tab Component.
SideBarTab Props: This does not accept any props.
Tab Props:
- onSelect: It is a callback function that is triggered when the tab is selected.
- isSelected: The tab is selected when this is set to true.
- appearance: It is used to denote the appearance of the tab.
- direction: It is used to denote the directionality of the tab.
- className: It is used to denote the class name passed to the Tab.
TabNavigation Props: This does not accept any props.
Tablist Props: This does not accept any props.
Creating React Application And Installing Module:
-
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
-
Step 3: After creating the ReactJS application, Install the required module using the following command:
npm install evergreen-ui
Project Structure: It will look like the following.
Example: Now write down the following code in the App.js file. Here, App is our default component where we have written our code.
App.js
import React from 'react' import { Pane, Tab, Tablist } from 'evergreen-ui' export default function App() { // State for Selected Index const [indexSelected, setIndexSelected] = React.useState(0) // Tabs Heading Array const [tabsHeading] = React.useState([ 'Tab 1' , 'Tab 2' , 'Tab 3' ]) // Tabs Content Array const [tabsContent] = React.useState([ 'Content of Tab 1' , 'Content of Tab 2' , 'Content of Tab 3' ]) return ( <div style={{ display: 'block' , width: 700, paddingLeft: 30 }}> <h4>ReactJS Evergreen Tab Component</h4> <Pane height={120}> <Tablist marginBottom={20} > {tabsHeading.map((tab, index) => ( <Tab key={tab} isSelected={index === indexSelected} onSelect={() => setIndexSelected(index)} >{tab}</Tab> ))} </Tablist> <Pane background= "lightblue" flex= "1" > {tabsContent.map((tab, index) => ( <Pane role= "tabpanel" key={tab} display={index === indexSelected ? 'block' : 'none' } >{tab}</Pane> ))} </Pane> </Pane> </div> ); } |
Step to Run Application: Run the application using the following command from the root directory of the project:
npm start
Output: Now open your browser and go to http://localhost:3000/, you will see the following output:
Reference: https://evergreen.segment.com/components/tabs