https://github.com/felixgirault/pure-render-decorator
An ES7 decorator to make React components "pure".
https://github.com/felixgirault/pure-render-decorator
es7-decorator react
Last synced: about 1 year ago
JSON representation
An ES7 decorator to make React components "pure".
- Host: GitHub
- URL: https://github.com/felixgirault/pure-render-decorator
- Owner: felixgirault
- License: mit
- Created: 2015-05-14T20:50:12.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2016-11-01T19:19:33.000Z (over 9 years ago)
- Last Synced: 2025-03-29T19:02:13.322Z (about 1 year ago)
- Topics: es7-decorator, react
- Language: JavaScript
- Size: 20.5 KB
- Stars: 189
- Watchers: 3
- Forks: 14
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
Pure render decorator
=====================
An ES7 decorator to make React components "pure".
[](https://travis-ci.org/felixgirault/pure-render-decorator)
Alternatives
------------
* As of [v15.3.0](https://github.com/facebook/react/releases/tag/v15.3.0), React provides a `PureComponent` base class to make a component pure.
* [recompose](https://github.com/acdlite/recompose/blob/master/docs/API.md#pure) provides a clean and functional way to make components pure.
Installation
------------
```sh
npm install pure-render-decorator
```
Usage
-----
```jsx
import {Component} from 'react';
import pureRender from 'pure-render-decorator';
@pureRender
export default class Test extends Component {
render() {
return
;
}
}
```
The above example is the same as using `PureRenderMixin`:
```jsx
var React = require('react');
var PureRenderMixin = require('react-addons-pure-render-mixin');
var Test = React.createClass({
mixins: [
PureRenderMixin
],
render: function() {
return
;
}
});
```
As decorators are simply functions, you can also use `pureRender()` without the decorator syntax:
```jsx
import {Component} from 'react';
import pureRender from 'pure-render-decorator';
class Test extends Component {
render() {
return
;
}
}
export default pureRender(Test);
```