We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. Image for the cookie policy date
Unfortunately, activation email could not send to your email. Please try again.
Syncfusion Feedback

Trusted by the world’s leading companies

Syncfusion Trusted Companies

Overview

The React Menu Bar is a graphical user interface component that serves as a navigation header for your web application or site. It supports data binding, templates, icons, multilevel nesting, and horizontal and vertical menus.


Data binding

Menu can be bound to data in the form of JavaScript object array collection. It supports self-referential or hierarchical structure of data.


Users tend to perceive visual information better than text. Include icons or sprite images to the menu items easily to provide a visual representation of the actions.


Templates is used to create custom user experience. Menu provides template for each menu item to customize the entire Menu UI.


Vertical Menu

React Menu supports its alignment in either vertical or horizontal orientation.


Multi-level nesting

React Menu supports multi-level nested items. You can browse the sub-menu by hovering or clicking a parent item.

React Menu with multi level nesting


Integration with other components

React Menu can be used with other components. Adding a menu to other components only requires simple configuration.


React Menu Bar Code Example

Easily get started with the React Menu Bar using a few simple lines of TSX code example as demonstrated below. Also explore our React Menu Bar Example that shows you how to render and configure a Menu Bar in React.

import * as ReactDOM from 'react-dom';
import * as React from 'react';
import { MenuComponent, MenuItemModel } from '@syncfusion/ej2-react-navigations';
import { SampleBase } from '../common/sample-base';
import './default.css';

/**
 * Menu default sample
 */
export class Default extends SampleBase<{}, {}> {
    // Menu items definition
    public menuItems: MenuItemModel[] = [
        {
            text: 'File',
            iconCss: 'em-icons e-file',
            items: [
                { text: 'Open', iconCss: 'em-icons e-open' },
                { text: 'Save', iconCss: 'em-icons e-save' },
                { separator: true },
                { text: 'Exit' }
            ]
        },
        {
            text: 'Edit',
            iconCss: 'em-icons e-edit',
            items: [
                { text: 'Cut', iconCss: 'em-icons e-cut' },
                { text: 'Copy', iconCss: 'em-icons e-copy' },
                { text: 'Paste', iconCss: 'em-icons e-paste' }
            ]
        },
        {
            text: 'View',
            items: [
                {
                    text: 'Toolbars',
                    items: [
                        { text: 'Menu Bar' },
                        { text: 'Bookmarks Toolbar' },
                        { text: 'Customize' },
                    ]
                },
                {
                    text: 'Zoom',
                    items: [
                        { text: 'Zoom In' },
                        { text: 'Zoom Out' },
                        { text: 'Reset' },
                    ]
                },
                { text: 'Full Screen' }
            ]
        },
        {
            text: 'Tools',
            items: [
                { text: 'Spelling & Grammar' },
                { text: 'Customize' },
                { separator: true },
                { text: 'Options' }
            ]
        },
        {
            text: 'Help'
        }
    ];

    render() {
        return (
            <div className='control-pane'>
                <div className='control-section'>
                    <div className='menu-section'>
                        <div className='menu-control'>
                            <MenuComponent items={this.menuItems}></MenuComponent>
                        </div>
                    </div>
                </div>
            </div>
        )
    }
}

Other supported frameworks

The Menu Bar component is also available in Blazor, Vue, Angular, and JavaScript frameworks. Check out the different Menu Bar platforms from the links below,


Themes

React Menu component supports built-in themes such as Material, Bootstrap, Fabric (Office 365), Tailwind CSS, and High Contrast. Users can customize any one of these built-in themes or create new themes with ease to achieve their own desired look and feel either by simply overriding SASS variables or using our Theme Studio application.


Web Accessibility

  • Fully supports WAI-ARIA for working with screen readers and assistive devices.
  • Follows WAI-ARIA best practices for implementing keyboard interaction.
  • Based on WCAG 2.0 standards, we designed the UI element visuals such as foreground color, background color, line spacing, text and images
  • Supports right-to-left (RTL) text direction for users working in right-to-left languages like Hebrew, Arabic, or Persian.



70+ REACT UI COMPONENTS

Frequently Asked Questions

  • Display a multilevel menu with smooth animation docked in the header and footer.
  • Customize menu items that include other controls like Checkbox, Radio Button, and more.
  • Automatic collision detection with submenu flip, and fits the screen.
  • Use horizontal and vertical menus as a navigation drawer.
  • Hamburger menu, when clicked opens a navigation drawer.
  • One of the best React Menu Bar components in the market that offers a feature-rich UI to interact with the software.
  • Simple configuration and APIs.
  • Supports all modern browsers.
  • Mobile-touch friendly and responsive.
  • Extensive demos, documentation to learn quickly and get started with React Menu Bar.

We do not sell the React Menu Bar separately. It is only available for purchase as part of the Syncfusion React suite, which contains over 70 React components, including the Menu Bar. A single developer license for the Syncfusion Essential Studio for React suite costs $995.00 USD, including one year of support and updates. On top of this, we might be able to offer additional discounts based on currently active promotions. Please contact our sales team today to see if you qualify for any additional discounts.

You can find our React Menu Bar demo here.

No, our 70+ React components, including Menu Bar, are not sold individually, only as a single package. However, we have competitively priced the product so it only costs a little bit more than what some other vendors charge for their Menu Bar alone. We have also found that, in our experience, our customers usually start off using one of our products and then expand to several products quickly, so we felt it was best to offer all 70+ React components for a flat fee of $995/developer. On top of this, we might be able to offer additional discounts based on currently active promotions. Please contact our sales team today to see if you qualify for any additional discounts.

No, this is a commercial product and requires a paid license. However, a free community license is also available for companies and individuals whose organizations have less than $1 million USD in annual gross revenue and five or fewer developers.

A good place to start would be our comprehensive getting started documentation.

Read independent,
authenticated reviews
on G2

Download Now Pricing

What do our customers say about us?

double quotes

We're using the file formats and Windows/JavaScript list controls a lot. They're fast, easy to use, and the documentation is good and contains examples. Tickets with questions or suggestions were answered within a day, so we're happy to use the Syncfusion libraries.
Daniel Persidok

Daniel Persidok

wpd onshore GmbH & Co. KG

double quotes

Using Syncfusion Angular and JavaScript controls makes front-end web development a piece of cake. Each component has many properties that can be configured as per your desire, methods that can be used to interact with the element, and a lot of events that trigger at different stages, which makes modifying your components according to the state of the application an easy task. Also, their support is amazing! They always offer a sample working project, which makes it very simple to solve your question about your code.
Carlos Rodriguez Garcia

Carlos Rodriguez Garcia

Vistatec

Transform your applications today by downloading our free evaluation version Download Free Trial

Awards

Greatness—it’s one thing to say you have it, but it means more when others recognize it. Syncfusion is proud to hold the following industry awards.

Up arrow icon

Warning Icon You are using an outdated version of Internet Explorer that may not display all features of this and other websites. Upgrade to Internet Explorer 8 or newer for a better experience.Close Icon

Live Chat Icon For mobile