Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/austinsc/react-ref-decorator

An ES7 decorator for reffing and unreffing objects (anything that implements .ref() and .unref()) in the componentWillMount() and componentWillUnmount()
https://github.com/austinsc/react-ref-decorator

Last synced: 7 days ago
JSON representation

An ES7 decorator for reffing and unreffing objects (anything that implements .ref() and .unref()) in the componentWillMount() and componentWillUnmount()

Awesome Lists containing this project

README

        

[![Build Status](http://img.shields.io/travis/RoviSys/react-ref-decorator.svg?style=flat)](https://travis-ci.org/RoviSys/react-ref-decorator)
[![Code Climate](https://codeclimate.com/github/RoviSys/react-ref-decorator/badges/gpa.svg)](https://codeclimate.com/github/RoviSys/react-ref-decorator)
[![Test Coverage](https://codeclimate.com/github/RoviSys/react-ref-decorator/badges/coverage.svg)](https://codeclimate.com/github/RoviSys/react-ref-decorator/coverage)
[![Dependency Status](https://david-dm.org/RoviSys/react-ref-decorator.svg)](https://david-dm.org/RoviSys/react-ref-decorator)
[![devDependency Status](https://david-dm.org/RoviSys/react-ref-decorator/dev-status.svg)](https://david-dm.org/RoviSys/react-ref-decorator#info=devDependencies)

# react-ref-decorator

> An ES7 decorator for reffing and unreffing objects (anything that implements .ref() and .unref()) in the componentWillMount() and componentWillUnmount()

## Installation

Just run `npm install --save react-ref-decorator` and then use the default export of the module.

## Purpose

The purpose of this module is to add some abbreviated syntax for hooking into a component's mount lifecycle.

## Example

Lets say you have some object that needs to be tied to the mounted portion of a React component's lifecycle:

```javascript
const componentWatcher = {
ref() {
// do something when the component mounts
}

unref() {
// do something else when the component unmounts
}
};
```

You can attach it like this:

```javascript
import Ref from 'react-ref-decorator';

@Ref(componentWatcher)
class MyComponent extends Component {
render() {
return (

Blah


);
}
}
```

The decorator also supports multiple 'reffable' arguments:

```javascript
import Ref from 'react-ref-decorator';

@Ref(componentWatcher1, componentWatcher2, componentWatcher3)
class MyComponent extends Component {
render() {
return (

Blah


);
}
}
```

Now when the component mounts and unmounts your componentWatchers ref/unref functions will be called respectively.