# render-if-react

> HOC to render with condition

Latest version **1.0.2** (published 2017-10-08) · ISC license · 0 weekly downloads

## Install

```sh
npm install render-if-react
pnpm add render-if-react
yarn add render-if-react
bun add render-if-react
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.2 |
| Published | 2017-10-08 |
| First published | 2017-09-29 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 2 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | KengOnline |
| Maintainers | kengonline |
| Keywords | react, render |

## Links

- npm: https://www.npmjs.com/package/render-if-react
- Repository: https://github.com/kengonline/react-render-if
- Homepage: https://github.com/kengonline/react-render-if#readme
- Issues: https://github.com/kengonline/react-render-if/issues
- npm.io page: https://npm.io/package/render-if-react

## Dependencies (2)

- [react](https://npm.io/package/react.md) ^16.0.0
- [prop-types](https://npm.io/package/prop-types.md) ^15.6.0

## Alternatives

- [mobx-react](https://npm.io/package/mobx-react.md) — 2.8M weekly downloads
- [rc-tree](https://npm.io/package/rc-tree.md) — 2.6M weekly downloads
- [@react-oauth/google](https://npm.io/package/@react-oauth/google.md) — 1.3M weekly downloads
- [@wagmi/connectors](https://npm.io/package/@wagmi/connectors.md) — 877.0K weekly downloads
- [vee-validate](https://npm.io/package/vee-validate.md) — 836.4K weekly downloads

## Recent versions

- 1.0.2 (latest) — 2017-10-08
- 1.0.1 — 2017-09-30
- 1.0.0 — 2017-09-29

## README

# react-render-if
HOC to render component with condition

### Installation
```
npm install --save render-if-react
```

### Limitation
Class component must be render as child.

### Props
| Name | Description | Default |
| --- | --- | --- |
| `condition` | `Condition to render` | true |
| `component` | `Component to be render when condition is true` |  |
| `elseComponent` | `Component to be render when condition is false` |  |
| `strict` | `Mode to handle invalid component true: throw Error, false: log warning` | false |


### Example render as props
```jsx
import RenderIf from 'render-if-react'

const Hello = () => <h1>Hello</h1>

class MyComponent extends Component {
    render() {
        return (
            <div>
                <RenderIf condition={1 + 1 === 2} component={<Hello />} />
            </div>
        );
    }
}
```

### Example child component
```jsx
import RenderIf from 'render-if-react'

class Hello extends Component {
    render() {
        return (
            <h3>Hello</h3>
        );
    }
}

class MyComponent extends Component {
    render() {
        return (
            <div>
                <RenderIf condition={1 + 1 === 2}>
                    <Hello />
                </RenderIf>
            </div>
        );
    }
}
```

### Example else component
```jsx
import RenderIf from 'render-if-react'

class Hello extends Component {
    render() {
        return (
            <h3>Hello</h3>
        );
    }
}

const ElseComponent = () => <div>Else Component</div>

class MyComponent extends Component {
    render() {
        return (
            <div>
                <RenderIf condition={0} elseComponent={ElseComponent}>
                    <Hello />
                </RenderIf>
            </div>
        );
    }
}
```

---
_Source: https://npm.io/package/render-if-react · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
