Skip to content

Instantly share code, notes, and snippets.

@grydstedt
Created December 23, 2014 07:51
Show Gist options
  • Save grydstedt/aeddac82daedb57e3c48 to your computer and use it in GitHub Desktop.
Save grydstedt/aeddac82daedb57e3c48 to your computer and use it in GitHub Desktop.
Wrap render
var React = require('react');
var _ = require('underscore');
var WrapperMixin = {
componentWillMount: function() {
if (!this.wrapRender) return;
var _this = this;
var oldRender = this.render;
this.render = function() {
var wrapRender = _this.wrapRender || {};
var tagName = wrapRender.tagName || 'div';
var specs = {};
if (wrapRender.id) specs.id = wrapRender.id;
if (wrapRender.className) specs.className = wrapRender.className;
return React.createElement(
tagName,
specs,
_.bind(oldRender, _this)()
);
};
}
};
module.exports = WrapperMixin;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment