Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

jsx-if

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

jsx-if

A very lightweight helper that adds native conditionals to jsx

  • 0.1.0
  • beta
  • latest
  • npm
  • Socket score

Version published
Weekly downloads
1
Maintainers
1
Weekly downloads
 
Created
Source

JSX IF

A really lightweight helper for writing native-looking conditionals in JSX.

Single line:

<div id={_if (condition, 'msg')}>

Multi line:

{
  _if (this.state.title,
    <header>
      {this.state.title}
    </header>,

  _else (
    <h3>No content</h3>
  )
)}

Usage

npm install jsx-if --save-dev

In your component:

var jsxIf   = require('jsx-if');

var _if     = jsxIf._if,
    _elseif = jsxIf._elseif,
    _else   = jsxIf._else;

The _if function takes a minimum of two arguments: a condition and a value or function to return if true. However, it can take any number of arguments, which will act as elseif/else statements. The full syntax is as follows:

_if(condition, value, _elseif(condition, value)..., _else(value))

It's a bit odd but it's as close as it gets until we get proper support built in.

##Examples

As a single line:

<div id={_if (condition, 'msg')}>

or on a block level:

{_if (this.state.title,
    <header>
      {this.state.title}
    </header>
)}

####If-else:

{
  _if (this.state.title,
    <header>
      {this.state.title}
    </header>,

  _else (
    <h3>No content</h3>
  )
)}

Notice the comma at the end of the if block.

####A complete if-elseif-else

At this point I would probably recommend using the immediately-invoked function expressions described in the react docs, however this works completely fine.

{
  _if (this.state.title,
    <header>
      {this.state.title}
    </header>,

  _elseif (this.props.showDefault,
    <h3>Default title</h3>
  ),

  _else (
    <h3>No content</h3>
  )
)}

Tests

npm test

Release history

  • 0.1.0 Initial release

Keywords

FAQs

Package last updated on 12 Aug 2015

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc