Here is a simple React toggle switch component that can be used for any mobile inspired website, or hybrid app.
This Component only requires one state key for the toggle, aptly named toggle.
First, add the imports and the DOM render node:
import React from 'react'
import ReactDOM from 'react-dom'
// Component will go here.
ReactDOM.render(<Toggle />, document.getElementById('root'))
Now, create a class extending the React Component and insert it where our prior comment was:
class Toggle extends React.Component {
  state = {
    toggle: false
  }
  toggle () {
    this.setState({ toggle: !this.state.toggle })
  }
}To continue, we will add the JSX for the actual DOM elements in the render function:
The className will add the toggle class when the toggle is active.
render () {
  const className = `toggle-component ${ this.state.toggle ? ' active' : ''}`
  return (
    <div
      className={className}
      onClick={() => this.toggle()}>
      <div className='toggle-button' />
    </div>
  )
}.wrapper {
  padding: 50px;
}
.toggle-component {
  font-size: 2rem;
  color: #171717;
  width: 50px;
  height: 20px;
  background: #777777;
  border: 1px solid #555;
  position: relative;
  border-radius: 10px;
  cursor: pointer;
  transition: border-color background-color 0.3s;
}
.toggle-component.active {
  background: #66CC99;
  border-color: #dfdfdf;
}
.toggle-component.active .toggle-button {
  right: -2px;
}
.toggle-component .toggle-button {
  position: absolute;
  top: -3px;
  right: 50%;
  height: 26px;
  width: 26px;
  background: #dfdfdf;
  box-shadow: 0 0 5px #555;
  border-radius: 50%;
  transition: right 0.3s;
}All together now: