JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 1038
  • Score
    100M100P100Q102286F
  • License MIT

Hide/show a component's children

Package Exports

  • react-toggle-display

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (react-toggle-display) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

react-toggle-display

Build Status

A stateless react component that toggles the display of it's children. It's like ng-show, ng-hide or ng-if but for react.

This allows you to DRY up statements like this:

<div className={this.props.shouldHide ? 'hidden' : ''}>

Example usage:

import React, { Component } from 'react';
import ToggleDisplay from 'react-toggle-display';

class App extends Component {
  constructor() {
    super();
    this.state = { show: false };
  }

  handleClick() {
    this.setState({
      show: !this.state.show
    });
  }

  render() {
    return (
      <div className="App">
        <p className="App-intro">
          <button onClick={ () => this.handleClick() }>Toggle things</button>
        </p>
        <ToggleDisplay show={this.state.show}>
          I am rendered in a span (by default) and hidden with display:none when show is false.
        </ToggleDisplay>

        <ToggleDisplay if={this.state.show} tag="section">
          I am rendered in a section and removed from the DOM when if is false.
        </ToggleDisplay>
      </div>
    );
  }
}

export default App;

View demo

Props

hide - boolean

show - boolean

if - boolean

tag - string. The tag name to use as the ToggleDisplay element. Defaults to span.

The two first props are simply the inverse of each other. Using both at the same time will result in canceling each other out.

Install

npm install react-toggle-display

Tests

To run tests: npm test

Contributors

Big thanks to willgm for his contributions.

Change Notes

Note that if you are using a version under 0.1.1, you will have to compile react-toggle-display's JSX yourself. I recommend just updating to 1.x so you don't have to worry about that. No breaking API changes in 1.x.

While v2 does not change anything functionally, it was refactored to be a "stateless functional component", which won't work in React versions less than 0.14.

v2.2 adds the prop-types package to get rid of some warnings when using React 15.5