Install & Compatibility
Where this runs
No compatibility data collected yet for this library.
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
createBackboneClass
✓ var MyComp = React.createBackboneClass({...})
✗ var MyComp = React.createBackboneClass()
Available as React.createBackboneClass or React.Backbone.createBackboneClass; no ES module import.
BackboneMixin
✓ React.BackboneMixin(propName, changeOptions)
✗ React.BackboneMixin({model: propName})
Mixins are deprecated in React 15.5+.
React.createClass
✓ React.createBackboneClass({...})
✗ require('react.backbone').createBackboneClass
The library augments React global; no CommonJS export.
Showcases react.backbone with a Browserify-less setup: creates a Backbone.Model and a component that re-renders on model changes.
<!DOCTYPE html>
<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.4.2/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.4.2/react-dom.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.3.3/backbone-min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/react.backbone@0.9.2/react.backbone.min.js"></script>
</head>
<body>
<div id="app"></div>
<script>
var UserModel = Backbone.Model.extend({});
var user = new UserModel({name: 'Alice'});
var UserView = React.createBackboneClass({
render: function() {
return React.createElement('div', null, this.getModel().get('name'));
}
});
var element = React.createElement(UserView, {model: user});
ReactDOM.render(element, document.getElementById('app'));
</script>
</body>
</html>
Errors
Common errors & fixes
Uncaught TypeError: React.createBackboneClass is not a function
react.backbone script not loaded or loaded before React.
fixEnsure both React and react.backbone are loaded in correct order: React then react.backbone.
Uncaught TypeError: this.getModel is not a function
Component not created with React.createBackboneClass; using React.createClass instead.
fixUse React.createBackboneClass({...}) or include the BackboneMixin. Error: Cannot find module 'react.backbone'
Trying to import as ES module (import ... from 'react.backbone') but package does not export anything.
fixUse script tag to attach to global React object.
Audit
Dependencies
reactrequiredPeer dependency; earlier versions of React
backbonerequiredPeer dependency; Backbone models/collections
underscorerequiredPeer dependency; used by Backbone internally