Search results

Getting started with React Switch component

25 Oct 2021 / 2 minutes to read

This section explains how to create a simple Switch, and configure its available functionalities in React, using React quickstart application.

Dependencies

The following list of dependencies are required to use Switch component in your application.

Copied to clipboard
|-- @syncfusion/ej2-react-buttons
    |-- @syncfusion/ej2-react-base
    |-- @syncfusion/ej2-base
    |-- @syncfusion/ej2-buttons

Installation and Configuration

You can use create-react-app to setup the applications. To install create-react-app run the following command.

Copied to clipboard
npm install -g create-react-app

Start a new project using create-react-app command as follows

Copied to clipboard
create-react-app quickstart --scripts-version=react-scripts-ts

cd quickstart
Copied to clipboard
create-react-app quickstart

cd quickstart

‘react-scripts-ts’ is used for creating React app with typescript.

Adding Syncfusion packages

All the available Essential JS 2 packages are published in npmjs.com public registry.

To install Switch component, use the following command

Copied to clipboard
npm install @syncfusion/ej2-react-buttons --save

Adding Switch component to the Application

To include Switch component in your application import the SwitchComponent from ej2-react-buttons package in App.tsx.

Add Switch component in application as shown in below code example.

Copied to clipboard
// Import the Switch.
import { SwitchComponent } from '@syncfusion/ej2-react-buttons';
import * as React from 'react';
import './App.css';

// To render Switch.
export default class App extends React.Component<{}, {}> {
  public render() {
    return (
      <SwitchComponent />
    );
  }
}
Copied to clipboard
// Import the Switch.
import { SwitchComponent } from '@syncfusion/ej2-react-buttons';
import * as React from 'react';
import './App.css';
// To render Switch.
export default class App extends React.Component {
    render() {
        return (<SwitchComponent />);
    }
}

Adding CSS Reference

Import the Switch component’s required CSS references as follows in src/App.css.

Copied to clipboard
@import "../node_modules/@syncfusion/ej2-base/styles/material.css";
@import "../node_modules/@syncfusion/ej2-buttons/styles/material.css";

Running the application

Run the application in the browser using the following command:

Copied to clipboard
npm start

The following example shows a basic Switch component.

Source
Preview
app.tsx
index.html
index.css
app.jsx
Copied to clipboard
import { enableRipple } from '@syncfusion/ej2-base';
import { SwitchComponent } from '@syncfusion/ej2-react-buttons';
import * as React from 'react';
import * as ReactDom from 'react-dom';

enableRipple(true);

// To render Switch with checked state.
class App extends React.Component<{}, {}> {
  public render() {
    return (
      <SwitchComponent checked={true} />
    );
  }
}
ReactDom.render(<App />, document.getElementById('switch'));
Copied to clipboard
<!DOCTYPE html>
<html lang="en">

<head>
    <title>Syncfusion React Switch</title>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta name="description" content="Essential JS 2 for React Components" />
    <meta name="author" content="Syncfusion" />
    <link href="//cdn.syncfusion.com/ej2/ej2-base/styles/fabric.css" rel="stylesheet" />
    <link href="//cdn.syncfusion.com/ej2/ej2-buttons/styles/material.css" rel="stylesheet" />
    <link href="index.css" rel="stylesheet" />
    <script src="https://cdnjs.cloudflare.com/ajax/libs/systemjs/0.19.38/system.js"></script>
    <script src="systemjs.config.js"></script>
</head>

<body>
        <div id='switch'>
            <div id='loader'>Loading....</div>
        </div>
</body>

</html>
Copied to clipboard
#loader {
	color: #008cff;
	height: 40px;
	left: 45%;
	position: absolute;
	top: 45%;
	width: 30%;
}

.e-switch-wrapper {
  margin: 18px;
}
Copied to clipboard
import { enableRipple } from '@syncfusion/ej2-base';
import { SwitchComponent } from '@syncfusion/ej2-react-buttons';
import * as React from 'react';
import * as ReactDom from 'react-dom';
enableRipple(true);
// To render Switch with checked state.
class App extends React.Component {
    render() {
        return (<SwitchComponent checked={true}/>);
    }
}
ReactDom.render(<App />, document.getElementById('switch'));

See Also