{"id":13400887,"url":"https://github.com/jhudson8/react-backbone","last_synced_at":"2025-08-30T09:06:39.819Z","repository":{"id":16853599,"uuid":"19613542","full_name":"jhudson8/react-backbone","owner":"jhudson8","description":"backbone-aware mixins for react and a whole lot more","archived":false,"fork":false,"pushed_at":"2015-07-26T03:29:05.000Z","size":2028,"stargazers_count":132,"open_issues_count":0,"forks_count":5,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-06-23T22:11:24.983Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jhudson8.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-05-09T14:17:24.000Z","updated_at":"2023-03-08T03:17:10.000Z","dependencies_parsed_at":"2022-09-06T17:40:33.602Z","dependency_job_id":null,"html_url":"https://github.com/jhudson8/react-backbone","commit_stats":null,"previous_names":[],"tags_count":66,"template":false,"template_full_name":null,"purl":"pkg:github/jhudson8/react-backbone","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jhudson8%2Freact-backbone","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jhudson8%2Freact-backbone/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jhudson8%2Freact-backbone/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jhudson8%2Freact-backbone/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jhudson8","download_url":"https://codeload.github.com/jhudson8/react-backbone/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jhudson8%2Freact-backbone/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261945352,"owners_count":23234234,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-30T19:00:56.686Z","updated_at":"2025-07-03T13:35:40.291Z","avatar_url":"https://github.com/jhudson8.png","language":"JavaScript","readme":"react-backbone\n==============\nGive [Backbone](http://backbonejs.org/) awareness to your [React](http://facebook.github.io/react/) components and so much more.\n\n* give Backbone.Model / Backbone.Collection awareness to your React components\n* mixins for updating on model change events, be aware of model xhr activity and model validation events and more\n* add Backbone.View like declaritive events to your React components\n* add dependency management to your React mixins\n* use Backbone.Model-aware input components\n* includes managed event bindings which will clean up when the React component is unmounted\n\nThis project indludes/depends on the following other projects\n\n* [jhudson8/react-mixin-manager](https://github.com/jhudson8/react-mixin-manager)\n* [jhudson8/react-events](https://github.com/jhudson8/react-events)\n* [jhudson8/backbone-xhr-events](https://github.com/jhudson8/backbone-xhr-events)\n\n\n## Common Examples\n\n```\n    React.createClass({\n      mixins: ['modelChangeAware'],\n\n      render: function() {\n        // will be called any time this.props.model is changed\n      }\n    });\n```\n\n```\n    React.createClass({\n      mixins: ['modelXHRAware'],\n\n      render: function() {\n        // this.state.loading will be truthy during any XHR activity initiated by this.props.model\n      }\n    });\n```\n\n```\n    React.createClass({\n      mixins: ['modelEvents'],\n\n      events: {\n        'model:foo': 'onFoo',\n        '*throttle(300)-\u003emodel:foo': 'onThrottledFoo'\n        ''\n      },\n\n      onFoo: function() {\n        will be executed when this.props.model triggers the \"foo\" event\n      },\n\n      onThrottledFoo: function() {\n        will be executed and throttled (300ms) when this.props.model triggers the \"foo\" event\n      },\n    });\n```\n\n## Docs\n\n[View the installation and API docs](http://jhudson8.github.io/fancydocs/index.html#project/jhudson8/react-backbone)\n\n\n## Tutorials\n\n* [Handling model/collection changes and XHR loading indicators](https://github.com/jhudson8/react-backbone/tree/master/tutorials/collection-binding)\n* [Forms validation and input field binding](https://github.com/jhudson8/react-backbone/tree/master/tutorials/forms)\n* [Using managed events and mixin dependencies to create a responsive component](https://github.com/jhudson8/react-backbone/tree/master/tutorials/responsive-design)\n* [Custom event handlers and event driven applications](https://github.com/jhudson8/react-backbone/blob/master/tutorials/event-driven-app)\n","funding_links":[],"categories":["Utilities","Uncategorized","Awesome React","React [🔝](#readme)"],"sub_categories":["Framework bindings / integrations","Uncategorized","Tools"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjhudson8%2Freact-backbone","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjhudson8%2Freact-backbone","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjhudson8%2Freact-backbone/lists"}