React Accordion - Overview

The Accordion UI component contains several panels displayed one under another. These panels can be collapsed or expanded by an end user, which makes this UI component very useful for presenting information in a limited amount of space.

View Demo

The following code adds a simple Accordion to your page. Note that each data source object contains the title field, whose value goes to the title of the panel.

App.js
  • import React from 'react';
  • import 'devextreme/dist/css/dx.common.css';
  • import 'devextreme/dist/css/dx.light.css';
  •  
  • import { Accordion } from 'devextreme-react/accordion';
  •  
  • const accordionData = [{
  • title: "Personal Data",
  • firstName: "John",
  • lastName: "Smith",
  • birthYear: 1986
  • }, {
  • title: "Contacts",
  • phone: "(555)555-5555",
  • email: "John.Smith@example.com"
  • }, {
  • title: "Address",
  • state: "CA",
  • city: "San Francisco",
  • street: "Stanford Ave"
  • }];
  •  
  • class App extends React.Component {
  • render() {
  • return (
  • <Accordion
  • dataSource={accordionData}
  • itemRender={this.renderItem}
  • />
  • );
  • }
  •  
  • renderItem(itemData) {
  • return (
  • <div>
  • {
  • Object.keys(itemData).map(key => {
  • return (
  • <p key={key}>
  • {key}: {itemData[key]}
  • </p>
  • )}
  • )
  • }
  • </div>
  • );
  • }
  • }
  •  
  • export default App;
See Also