(function (root, factory) {
    if (typeof define === 'function' && define.amd) {
        // AMD. Register as an anonymous module.
        define(['backbone', 'react'], factory);
    } else {
        // Browser globals
        root.amdWeb = factory(root.Backbone, root.React);
    }
}(this, function (Backbone, React) {

    React.BackboneMixin = {
        _subscribe: function(model) {
            if (!model) {
                return;
            }

            var changeOptions = this.changeOptions;

            if (model instanceof Backbone.Collection) {
                changeOptions = changeOptions || 'add remove reset sort';
                var _throttledForceUpdate = _.debounce(this.forceUpdate.bind(this, null),  10);
                model.on(changeOptions, _throttledForceUpdate, this);
            } else {
                changeOptions = changeOptions || 'change';
                model.on(changeOptions, (this.onModelChange || function () { this.forceUpdate(); }), this);
            }
        },
        _unsubscribe: function(model) {
            if (!model) {
                return;
            }
            model.off(null, null, this);
        },
        componentDidMount: function() {
            // Whenever there may be a change in the Backbone data, trigger a reconcile.
            this._subscribe(this.props.model);
        },
        componentWillReceiveProps: function(nextProps) {
            if (this.props.model !== nextProps.model) {
                this._unsubscribe(this.props.model);
                this._subscribe(nextProps.model);

                if (typeof this.componentWillChangeModel === 'function') {
                    this.componentWillChangeModel();
                }
            }
        },
        componentDidUpdate: function(prevProps, prevState) {
            if (this.props.model !== prevProps.model) {
                if (typeof this.componentDidChangeModel === 'function') {
                    this.componentDidChangeModel();
                }
            }
        },
        componentWillUnmount: function() {
            // Ensure that we clean up any dangling references when the component is destroyed.
            this._unsubscribe(this.props.model);
        }
    };

    React.createBackboneClass = function(spec) {
        var currentMixins = spec.mixins || [];

        spec.mixins = currentMixins.concat([React.BackboneMixin]);
        spec.getModel = function() {
            return this.props.model;
        };
        spec.model = function() {
            return this.getModel();
        };
        spec.el = function() {
            return this.isMounted() && this.getDOMNode();
        };
        return React.createClass(spec);
    };

    return React;

}));

@@ -1440,17 +1440,17 @@
 s.model 
-!
+=
 == nextP
@@ -1459,32 +1459,67 @@
 ps.model) %7B%0A    
+            return;%0A            %7D%0A%0A
             this
@@ -1555,36 +1555,32 @@
 l);%0A            
-   
- 
 this._subscribe(
@@ -1598,20 +1598,16 @@
 odel);%0A%0A
-    
         
@@ -1677,36 +1677,32 @@
                 
-   
- 
 this.componentWi
@@ -1718,34 +1718,16 @@
 odel();%0A
-                %7D%0A
         
@@ -1837,17 +1837,17 @@
 s.model 
-!
+=
 == prevP
@@ -1856,32 +1856,67 @@
 ps.model) %7B%0A    
+            return;%0A            %7D%0A%0A
             if (
@@ -1977,36 +1977,32 @@
                 
-    
 this.componentDi
@@ -2021,26 +2021,8 @@
 ();%0A
-                %7D%0A
     

Use guard instead of if