{"id":49108,"library":"react.backbone","title":"react.backbone","description":"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.","status":"deprecated","version":"0.9.2","language":"javascript","source_language":"en","source_url":"https://github.com/usepropeller/react.backbone","tags":["javascript","react","backbone","reactjs","jsx","react.backbone"],"install":[{"cmd":"npm install react.backbone","lang":"bash","label":"npm"},{"cmd":"yarn add react.backbone","lang":"bash","label":"yarn"},{"cmd":"pnpm add react.backbone","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency; earlier versions of React","package":"react","optional":false},{"reason":"Peer dependency; Backbone models/collections","package":"backbone","optional":false},{"reason":"Peer dependency; used by Backbone internally","package":"underscore","optional":false}],"imports":[{"note":"Available as React.createBackboneClass or React.Backbone.createBackboneClass; no ES module import.","wrong":"var MyComp = React.createBackboneClass()","symbol":"createBackboneClass","correct":"var MyComp = React.createBackboneClass({...})"},{"note":"Mixins are deprecated in React 15.5+.","wrong":"React.BackboneMixin({model: propName})","symbol":"BackboneMixin","correct":"React.BackboneMixin(propName, changeOptions)"},{"note":"The library augments React global; no CommonJS export.","wrong":"require('react.backbone').createBackboneClass","symbol":"React.createClass","correct":"React.createBackboneClass({...})"}],"quickstart":{"code":"<!DOCTYPE html>\n<html>\n<head>\n  <script src=\"https://cdnjs.cloudflare.com/ajax/libs/react/15.4.2/react.min.js\"></script>\n  <script src=\"https://cdnjs.cloudflare.com/ajax/libs/react/15.4.2/react-dom.min.js\"></script>\n  <script src=\"https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.3.3/backbone-min.js\"></script>\n  <script src=\"https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js\"></script>\n  <script src=\"https://cdn.jsdelivr.net/npm/react.backbone@0.9.2/react.backbone.min.js\"></script>\n</head>\n<body>\n  <div id=\"app\"></div>\n  <script>\n    var UserModel = Backbone.Model.extend({});\n    var user = new UserModel({name: 'Alice'});\n\n    var UserView = React.createBackboneClass({\n      render: function() {\n        return React.createElement('div', null, this.getModel().get('name'));\n      }\n    });\n\n    var element = React.createElement(UserView, {model: user});\n    ReactDOM.render(element, document.getElementById('app'));\n  </script>\n</body>\n</html>","lang":"javascript","description":"Showcases react.backbone with a Browserify-less setup: creates a Backbone.Model and a component that re-renders on model changes."},"warnings":[{"fix":"Use an older version of React (15.x, but note createClass deprecation) or migrate to modern React with functional components/hooks.","message":"Requires React <0.14 (React.createClass and React.render are deprecated in React 15).","severity":"breaking","affected_versions":">=0.14.0"},{"fix":"Use script tags with global variables, or shim/modify import to attach to React namespace.","message":"react.backbone augments the global React object; does not work out of the box with ES module imports (import React from 'react').","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Consider using modern state management (e.g., Redux, mobx-state-tree) or hooks (useState, useEffect) with Backbone events.","message":"Mixins are deprecated in React 15.5+ and removed in React 16; react.backbone relies on React.createClass and mixins internally.","severity":"deprecated","affected_versions":">=15.5.0"}],"env_vars":null,"search_vec":"'/collection':35 '0.14':24 '0.9.2':10 '15.5':22 '16':49 '2015':57 'activ':43 'api':20 'backbon':7,60 'backbone.model':34 'backbone.model/collection':33 'backbonemixin':30 'bind':32 'chang':36 'compat':46 'compon':38 'createbackboneclass':28 'deprec':16 'develop':44 'eas':6 'es':51 'integr':8 'javascript':58 'jsx':62 'last':54 'modul':52 'plugin':2 'provid':27 'publish':55 're':40 're-rend':39 'react':4,21,48,59 'react.backbone':1,63 'react.createclass':17 'react.render':19 'reactj':61 'reli':14 'render':41 'respect':25 'stabl':12 'system':53 'version':9","created_at":"2026-06-07T17:00:05.736169+00:00","updated_at":"2026-06-07T17:00:05.736169+00:00","problems":[{"fix":"Ensure both React and react.backbone are loaded in correct order: React then react.backbone.","cause":"react.backbone script not loaded or loaded before React.","error":"Uncaught TypeError: React.createBackboneClass is not a function"},{"fix":"Use React.createBackboneClass({...}) or include the BackboneMixin.","cause":"Component not created with React.createBackboneClass; using React.createClass instead.","error":"Uncaught TypeError: this.getModel is not a function"},{"fix":"Use script tag to attach to global React object.","cause":"Trying to import as ES module (import ... from 'react.backbone') but package does not export anything.","error":"Error: Cannot find module 'react.backbone'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/usepropeller/react.backbone#readme","github":"https://github.com/usepropeller/react.backbone","docs":null,"changelog":null,"pypi":null,"npm":"react.backbone","openapi_spec":null,"status_page":null,"smithery":null,"categories":["testing"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-07","next_check":"2026-09-05","install_tag":null}}