{"_id":"react.backbone","_rev":"28-f709c3a8713b0ebf132996c1751935cf","name":"react.backbone","time":{"modified":"2022-06-26T09:00:30.346Z","created":"2014-07-02T20:36:12.275Z","0.4.0":"2014-07-02T20:36:12.849Z","0.4.1":"2014-07-02T20:39:07.075Z","0.5.0":"2014-07-30T20:59:41.952Z","0.6.0":"2015-01-06T02:32:10.766Z","0.8.0":"2016-03-11T16:08:13.498Z","0.9.0":"2016-04-13T04:53:02.017Z","0.9.2":"2017-11-30T15:45:38.106Z"},"maintainers":[{"email":"markijbema@gmail.com","name":"markijbema"},{"email":"clay.allsopp@gmail.com","name":"clayallsopp"}],"description":"Plugin for React to make Backbone migration easier","readme":"react.backbone\n==============\n\n[![Build Status](https://travis-ci.org/clayallsopp/react.backbone.svg)](https://travis-ci.org/clayallsopp/react.backbone)\n\nPlugin for React to make Backbone integration easier. Initialize your component\nwith a Backbone.Model or Backbone.Collection; when the model or collection\nchanges, `#render` will be called.\n\n```javascript\nvar UserViewComponent = React.createBackboneClass({\n    changeOptions: \"change:name\", // DEFAULT is \"change\",\n    render: function() {\n        return (\n          <div>\n              <h1>{this.getModel().get(\"name\")}</h1>\n          </div>\n        );\n    }\n});\n\nvar user = new Backbone.Model();\nvar UserView = React.createFactory(UserViewComponent);\nvar userView = UserView({model: user});\n\n// Mount your component directly\nReact.render(userView, document.getElementById('element'));\n\n// Render as a subview\nvar ProfileViewComponent = React.createClass({\n  render: function() {\n      return (\n        <div>\n          <UserViewComponent model={this.props.user} />\n        </div>\n      );\n  }\n});\n\nvar ProfileView = React.createFactory(ProfileViewComponent);\nvar profileView = ProfileView({user: user});\nReact.render(profileView, document.getElementById('element'));\n```\n\nReact.Backbone also plays nicely with `Backbone.Collection`. Anytime the `add`,\n`remove`, `reset` or `sort` events are triggered the component will re-render.\n\n```javascript\nvar UserViewComponent = React.createBackboneClass({\n  render: function() {\n    return <li>{ this.getModel().get('name') }</li>;\n  }\n});\n\nvar UsersListViewComponent = React.createBackboneClass({\n    render: function() {\n        var usersList = this.getCollection().map(function(user) {\n            return <UserViewComponent model={user} />;\n        });\n\n        return (\n          <div>\n            <ul>\n              { usersList }\n            </ul>\n          </div>\n        );\n    }\n});\n\nvar usersList = new Backbone.Collection();\nvar UsersListView = React.createFactory(UsersListViewComponent);\nvar usersListView = UsersListView({collection: usersList});\n\nReact.render(usersListView, document.getElementById('users'));\n```\n\nIf you need to use multiple models, you can do so by including the mixin\nmultiple times:\n\n```javascript\nvar CommentViewComponent = React.createBackboneClass({\n    mixins: [\n\n        // when the view is instantiated,\n        // 'user' and 'comment' can be passed as props\n        React.BackboneMixin(\"user\", \"change:name\"),\n        React.BackboneMixin(\"comment\")\n    ],\n    render: function() {\n        return (\n          <div>\n              <p>{this.props.comment.get(\"text\")}</p>\n              <p>{'posted by' + this.props.user.get(\"name\")}</h1>\n          </div>\n        );\n    }\n});\n\nvar user = new Backbone.Model();\nvar comment = new Backbone.Model();\nvar CommentView = React.createFactory(CommentViewComponent);\nvar commentView = CommentView({user: user, comment: comment});\n\nReact.render(usersListView, document.getElementById('users'));\n```\n\nYou can also pass an object with options to the included mixin:\n\n```javascript\nReact.BackboneMixin({\n    propName: \"user\",\n    renderOn: \"change:name\"\n});\n```\n\nOr supply a custom callback to the option `modelOrCollection` to retrieve the\nproperty from the component's props:\n\n```javascript\nReact.BackboneMixin({\n    modelOrCollection: function(props) {\n        return props.comment.user;\n    },\n    renderOn: \"change:name\"\n});\n```\n\nIf your Collection or Model class does not inherit directly from Backbone.Model\nor Backbone.Collection, you may customize the behavior on a library level by\noverriding the React.BackboneMixin.ConsiderAsCollection function.\n\nReturn `true` if the object passed should behave as a collection.\n\n```javascript\nReact.BackboneMixin.ConsiderAsCollection = function (modelOrCollection) {\n  return modelOrCollection instanceof Backbone.Collection || modelOrCollection instanceof MyCustomCollection;\n}\n```\n\n### Installation\n\nEither download `react.backbone.js` or install the `react.backbone` package on\nBower:\n\n```\nbower install --save react.backbone\n```\n\nYou can either include react.backbone in a `<script>` tag (after you've\nincluded Backbone and React) or through RequireJS/AMD:\n\n```javascript\ndefine(['backbone', 'react', 'react.backbone'], function(Backbone, React) {\n    var UserViewComponent = React.createBackboneClass({\n        // ...\n    });\n});\n```\n\nVersion 0.7.0 supports React >0.14 and Backbone >1.0; for React <0.14, check out versions 0.6.0 and prior.\nReact Native is also supported, but only works with npm v3 (otherwise it will use the wrong React dependency).\n","versions":{"0.4.1":{"name":"react.backbone","version":"0.4.1","author":{"name":"Clay Allsopp","email":"clay.allsopp@gmail.com"},"scripts":{"test":"jest"},"description":"Plugin for React to make Backbone migration easier","main":"react.backbone.js","repository":{"type":"git","url":"https://github.com/usepropeller/react.backbone"},"keywords":["react","backbone","reactjs","jsx","react.backbone"],"license":"MIT","devDependencies":{"jest-cli":"~0.1.15","react-tools":"*"},"dependencies":{"react":"0.10.x","backbone":"1.x.x"},"jest":{"unmockedModulePathPatterns":["node_modules/react"],"scriptPreprocessor":"preprocessor.js"},"bugs":{"url":"https://github.com/usepropeller/react.backbone/issues"},"_id":"react.backbone@0.4.1","dist":{"shasum":"5d6230153f35a44d3e51ed199f7a0e6f78c799cb","tarball":"https://registry.npmjs.org/react.backbone/-/react.backbone-0.4.1.tgz","integrity":"sha512-mvswmAHrfKOSDrMwcUpEhAoMqlDL9Kn0PM3euWtbQhbokLEgjH0SsYSy7laWUZ7I2JUOoh4ZwU6ji3XDDjvOsw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDpDADX7/rLcfQ1bDCqknGWpeEfMK5UP9lhXFO7/B9MXgIgU7MkNX2zXgDuW5oYc4Gt7M+M67xrKlN4NsgJ2XOYQFc="}]},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"clayallsopp","email":"clay.allsopp@gmail.com"},"maintainers":[{"name":"clayallsopp","email":"clay.allsopp@gmail.com"}]},"0.5.0":{"name":"react.backbone","version":"0.5.0","author":{"name":"Clay Allsopp","email":"clay.allsopp@gmail.com"},"scripts":{"test":"jest"},"description":"Plugin for React to make Backbone migration easier","main":"react.backbone.js","repository":{"type":"git","url":"https://github.com/usepropeller/react.backbone"},"keywords":["react","backbone","reactjs","jsx","react.backbone"],"license":"MIT","devDependencies":{"jest-cli":"~0.1.17","react-tools":"0.11.x","react":">=0.10.x <1.x.x","backbone":"1.x.x"},"peerDependencies":{"react":">=0.10.x <1.x.x","backbone":"1.x.x"},"jest":{"unmockedModulePathPatterns":["node_modules/react"],"scriptPreprocessor":"preprocessor.js"},"bugs":{"url":"https://github.com/usepropeller/react.backbone/issues"},"_id":"react.backbone@0.5.0","dist":{"shasum":"df6c3f2d14b35b16ea663ae9ef9ae00187d53e62","tarball":"https://registry.npmjs.org/react.backbone/-/react.backbone-0.5.0.tgz","integrity":"sha512-ZcD9oIPAzOK7xWe8Hkz5/aLyq1iJNdzFr0nJ4kQEyQHg5wfAIp5rkiUKqQDTuq5WnBJ2aWrDCAOeRPdfJonjSg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGi7lfKFJyMQRK6B2g/yYgOY8IRpTDBzgtVlhAuhRQyZAiEA00UxV3Y015XJ32zHUDavObZIakd976h9FA1QOkU6b48="}]},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"clayallsopp","email":"clay.allsopp@gmail.com"},"maintainers":[{"name":"clayallsopp","email":"clay.allsopp@gmail.com"}]},"0.6.0":{"name":"react.backbone","version":"0.6.0","author":{"name":"Clay Allsopp","email":"clay.allsopp@gmail.com"},"scripts":{"test":"jest"},"description":"Plugin for React to make Backbone migration easier","main":"react.backbone.js","repository":{"type":"git","url":"https://github.com/usepropeller/react.backbone"},"keywords":["react","backbone","reactjs","jsx","react.backbone"],"license":"MIT","devDependencies":{"jest-cli":"~0.1.17","react-tools":"0.11.x","react":">=0.10.x <1.x.x","backbone":"1.x.x"},"peerDependencies":{"react":">=0.10.x <1.x.x","backbone":"1.x.x"},"jest":{"unmockedModulePathPatterns":["node_modules/react"],"scriptPreprocessor":"preprocessor.js"},"bugs":{"url":"https://github.com/usepropeller/react.backbone/issues"},"_id":"react.backbone@0.6.0","dist":{"shasum":"fdee285bb6806e514a7fb1b8174f7173ebec18db","tarball":"https://registry.npmjs.org/react.backbone/-/react.backbone-0.6.0.tgz","integrity":"sha512-tdV/UEaf/8AnY1fhcAgE+KvPpTbJjK0+ajSqlExNlRbXcYz5kWDJSjmMMnLlSz/mXIsLxzzeOrLTpNvPQWFs1w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDS5drZt2GZcgap0CDOVA9/lDZDWhbNe1zu+qjgVU7EHgIhAKJS03E5krU12DSn8jsPe3G03caNNO+P/b6QwiA6JIMF"}]},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"clayallsopp","email":"clay.allsopp@gmail.com"},"maintainers":[{"name":"clayallsopp","email":"clay.allsopp@gmail.com"}]},"0.8.0":{"name":"react.backbone","version":"0.8.0","author":{"name":"Clay Allsopp","email":"clay.allsopp@gmail.com"},"scripts":{"test":"jest"},"description":"Plugin for React to make Backbone migration easier","main":"react.backbone.js","repository":{"type":"git","url":"git+https://github.com/usepropeller/react.backbone.git"},"keywords":["react","backbone","reactjs","jsx","react.backbone"],"license":"MIT","devDependencies":{"backbone":"1.x.x","jest-cli":"~0.8.2","react":">=0.14.x <1.x.x","react-addons-test-utils":"^0.14.3","react-dom":">=0.14.x <1.x.x","react-tools":"0.13.x"},"peerDependencies":{"react":">=0.14.x <1.x.x","backbone":"1.x.x","underscore":">=1.2.x"},"jest":{"unmockedModulePathPatterns":["node_modules/react","node_modules/react-dom"],"scriptPreprocessor":"preprocessor.js"},"gitHead":"1befb4b3ea63802436122cc46bf31d79d7239748","bugs":{"url":"https://github.com/usepropeller/react.backbone/issues"},"homepage":"https://github.com/usepropeller/react.backbone#readme","_id":"react.backbone@0.8.0","_shasum":"a6dc84f9995238c1c9b75bc1eee61f185487eeba","_from":".","_npmVersion":"2.14.20","_nodeVersion":"4.4.0","_npmUser":{"name":"clayallsopp","email":"clay.allsopp@gmail.com"},"dist":{"shasum":"a6dc84f9995238c1c9b75bc1eee61f185487eeba","tarball":"https://registry.npmjs.org/react.backbone/-/react.backbone-0.8.0.tgz","integrity":"sha512-VUWJjH9gyVBw2rrUd04Z7J99LeeUVi7JqRxnhKaHMQXbOn0uk78l/C5A5W5oEHNB685XkVZ6oRti+Y+TDvf1uQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCzhwkcYund/CH9Fd1yGK0QpihF1SecfAvrUj3BPvSIdgIgYzrtqKBgc60rj0bEeCvz3hdzNaAu9pH7G0UFnKUwy+8="}]},"maintainers":[{"name":"clayallsopp","email":"clay.allsopp@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/react.backbone-0.8.0.tgz_1457712490998_0.15677902568131685"}},"0.9.0":{"name":"react.backbone","version":"0.9.0","author":{"name":"Clay Allsopp","email":"clay.allsopp@gmail.com"},"scripts":{"test":"jest"},"description":"Plugin for React to make Backbone migration easier","main":"react.backbone.js","repository":{"type":"git","url":"git+https://github.com/usepropeller/react.backbone.git"},"keywords":["react","backbone","reactjs","jsx","react.backbone"],"license":"MIT","devDependencies":{"backbone":"1.x.x","jest-cli":"~0.8.2","react":"^15.0.0","react-addons-test-utils":"^15.0.0","react-dom":"^15.0.0","react-tools":"0.13.x"},"peerDependencies":{"react":"^15.0.0","backbone":"1.x.x","underscore":">=1.2.x"},"jest":{"unmockedModulePathPatterns":["node_modules/react","node_modules/react-dom"],"scriptPreprocessor":"preprocessor.js"},"gitHead":"642d350400d95ae9d2a8674c931be6c4547a88aa","bugs":{"url":"https://github.com/usepropeller/react.backbone/issues"},"homepage":"https://github.com/usepropeller/react.backbone#readme","_id":"react.backbone@0.9.0","_shasum":"f0b5bcced8810c284a1dad89cf72997724b34238","_from":".","_npmVersion":"2.15.1","_nodeVersion":"4.4.3","_npmUser":{"name":"clayallsopp","email":"clay.allsopp@gmail.com"},"dist":{"shasum":"f0b5bcced8810c284a1dad89cf72997724b34238","tarball":"https://registry.npmjs.org/react.backbone/-/react.backbone-0.9.0.tgz","integrity":"sha512-qnTp2MzPJYmuH9SN7lYzmFfLMjneb7XxAML+T7S3Kuj5Gtb4f4XdpkrL7GOtvXWSXPRq5dLX7sXy7X2USO4Drw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGGTeH4LLWWaXIEvpJsVCi4tMvQgRsDc2PXeHGA2/A8KAiEAvsvdYqx8k4t5Qyddp/P8SY/hOT9nlvdsQ7G/RxoyRRo="}]},"maintainers":[{"name":"clayallsopp","email":"clay.allsopp@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/react.backbone-0.9.0.tgz_1460523179494_0.6716595168691128"}},"0.9.2":{"name":"react.backbone","version":"0.9.2","author":{"name":"Clay Allsopp","email":"clay.allsopp@gmail.com"},"scripts":{"test":"jest"},"description":"Plugin for React to make Backbone migration easier","main":"react.backbone.js","repository":{"type":"git","url":"git+https://github.com/usepropeller/react.backbone.git"},"keywords":["react","backbone","reactjs","jsx","react.backbone"],"license":"MIT","devDependencies":{"backbone":"1.x.x","jest-cli":"~0.8.2","react":"^15.0.0","react-addons-test-utils":"^15.0.0","react-dom":"^15.0.0","react-tools":"0.13.x"},"peerDependencies":{"react":"^15.0.0","backbone":"1.x.x","underscore":">=1.2.x"},"jest":{"unmockedModulePathPatterns":["node_modules/react","node_modules/react-dom"],"scriptPreprocessor":"preprocessor.js"},"gitHead":"0b0276c050644db9b9e2fbc730d050fc82630ab7","bugs":{"url":"https://github.com/usepropeller/react.backbone/issues"},"homepage":"https://github.com/usepropeller/react.backbone#readme","_id":"react.backbone@0.9.2","_npmVersion":"5.3.0","_nodeVersion":"8.4.0","_npmUser":{"name":"markijbema","email":"markijbema@gmail.com"},"dist":{"integrity":"sha512-eET0oDPPO8HPnU60ocFhjIV7uDLpycS88RqXltlUVANnARBpUi+myivhczNoHNqhoFhcbmAj/GGPI+SUjLuYLg==","shasum":"b225e3ce5f49fd15d4cb6f6f2664e26b115f5471","tarball":"https://registry.npmjs.org/react.backbone/-/react.backbone-0.9.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBsp+TUehPUUQGpoAPMLe/6J2e9zlfLHcZIn2aJ0q39sAiBnFtI1wxrG5RJE9HkNJ2A791EyYpieGIGZZ5uo4Bxdhg=="}]},"maintainers":[{"email":"markijbema@gmail.com","name":"markijbema"},{"email":"clay.allsopp@gmail.com","name":"clayallsopp"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react.backbone-0.9.2.tgz_1512056737270_0.7780598178505898"}}},"dist-tags":{"latest":"0.9.2"},"readmeFilename":"README.md","keywords":["react","backbone","reactjs","jsx","react.backbone"],"repository":{"type":"git","url":"git+https://github.com/usepropeller/react.backbone.git"},"author":{"name":"Clay Allsopp","email":"clay.allsopp@gmail.com"},"bugs":{"url":"https://github.com/usepropeller/react.backbone/issues"},"license":"MIT","homepage":"https://github.com/usepropeller/react.backbone#readme"}