Registry / testing / react.backbone

react.backbone

JSON →
library0.9.2jsnpmunverified

Plugin for React to ease Backbone integration. Version 0.9.2 is stable but relies on deprecated React.createClass and React.render APIs (React <15.5 and <0.14 respectively). It provides createBackboneClass and BackboneMixin to bind Backbone.Model/Collection changes to component re-rendering. No active development; not compatible with React 16+ or ES module systems. Last published in 2015.

npm install react.backbone
INSTALL
IMPORT
SIG · REACT.BACKBONE
R
react.backbone
testingjavascriptv0.9.2
harness data pending
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>
Debug
Known issues
breakingRequires React <0.14 (React.createClass and React.render are deprecated in React 15).
fix
Use an older version of React (15.x, but note createClass deprecation) or migrate to modern React with functional components/hooks.
affects: >=0.14.0
gotchareact.backbone augments the global React object; does not work out of the box with ES module imports (import React from 'react').
fix
Use script tags with global variables, or shim/modify import to attach to React namespace.
affects: >=0.0.0
deprecatedMixins are deprecated in React 15.5+ and removed in React 16; react.backbone relies on React.createClass and mixins internally.
fix
Consider using modern state management (e.g., Redux, mobx-state-tree) or hooks (useState, useEffect) with Backbone events.
affects: >=15.5.0
Errors
Common errors & fixes
Uncaught TypeError: React.createBackboneClass is not a function
react.backbone script not loaded or loaded before React.
fix
Ensure 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.
fix
Use 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.
fix
Use script tag to attach to global React object.
Upgrade
Version history
0.9.2latest on npm
Audit
Dependencies
reactrequiredPeer dependency; earlier versions of React
backbonerequiredPeer dependency; Backbone models/collections
underscorerequiredPeer dependency; used by Backbone internally
Agent activity
5 hits · last 30 days
node
4
Amazon
1
Resources