React UI Components Documentation

ReactJS Menu Component

The Menu component for ReactJS represents a menu widget that makes it easy to add menus to your website or web application.

Prerequisites

Refer to ReactJS Getting Started before you start with this help topic.

Configuration

The Menu component for ReactJS requires the following imports.

 
import React from 'react';
import ReactDOM from 'react-dom';
import JqxMenu from 'jqwidgets-react/react_jqxmenu.js';

Then we create our component class. Properties and methods are put as ReactJS props.

  
class App extends React.Component {
render () {
return (
<jqxMenu width={220} height={22} autoOpen={true}>
<ul>
<li><a href="#Home">Home</a></li>
<li>
Solutions
<ul style={{ width: 250 }}>
<li><a href="#Education">Education</a></li>
<li><a href="#Financial">Financial services</a></li>
<li><a href="#Government">Government</a></li>
<li><a href="#Manufacturing">Manufacturing</a></li>
<li type='separator'></li>
<li><a href="#">All industries and solutions</a></li>
</ul>
</li>
<li>
Products
<ul>
<li><a href="#PCProducts">PC products</a></li>
<li><a href="#MobileProducts">Mobile products</a></li>
<li><a href="#AllProducts">All products</a></li>
</ul>
</li>
</ul>
</jqxMenu>
)
}
}

Finally we render our class in the desired HTML element:

 
ReactDOM.render(<App />, document.getElementById('app'));

Events Methods & Properties

In order to bind to any event, change any property or call any method, we need a reference to the component.
For that we use the ReactJS "ref" Callback Attribute:

 
<JqxMenu ref='myMenu' width={220} height={22}..... />

Now, when we have a reference, we need to call the desired event/property/method.
This is done in the componentDidMount() ReactJS Component Lifecycle method.

 
class App extends React.Component {
componentDidMount()
{
//your logic
}
render ()
{
return
(
....
)
}
};

Events

The closed event is triggered when any of the Menu Sub Menus is closed.

The following example demonstrates how to add an event listener:

 
componentDidMount ()
{
this.refs.myMenu.on('closed', (event) =>
{
//your logic
});
}

Methods & Properties

This is how you call methods & props:

Every component have a method setOptions which accepts a object as an argument. This object contains component settings.

 
this.refs.myMenu.setOptions({
minimizeWidth: 250, width: 200, height: 20
})

Every component also have a method getOptions which returns a object containing the component settings.

Menu Examples

Overview

The following example demonstrates how to create a Menu component.

 
import React from 'react';
import ReactDOM from 'react-dom';
import JqxMenu from 'jqwidgets-react/react_jqxmenu.js';
class App extends React.Component {
render () {
return (
<jqxMenu width={220} height={22} autoOpen={true}>
<ul>
<li><a href="#Home">Home</a></li>
<li>
Solutions
<ul style={{ width: 250 }}>
<li><a href="#Education">Education</a></li>
<li><a href="#Financial">Financial services</a></li>
<li><a href="#Government">Government</a></li>
<li><a href="#Manufacturing">Manufacturing</a></li>
<li type='separator'></li>
<li><a href="#">All industries and solutions</a></li>
</ul>
</li>
<li>
Products
<ul>
<li><a href="#PCProducts">PC products</a></li>
<li><a href="#MobileProducts">Mobile products</a></li>
<li><a href="#AllProducts">All products</a></li>
</ul>
</li>
</ul>
</jqxMenu>
)
}
}
ReactDOM.render(<App />, document.getElementById('app'));

Disabled Menu

The following example demonstrates how to disable the Menu component.

Menu API

API Reference of the jQWidgets Menu component for React: Menu API