{"id":23513031,"url":"https://github.com/cef62/redux-component-state","last_synced_at":"2025-04-19T12:46:26.213Z","repository":{"id":36103233,"uuid":"40404688","full_name":"cef62/redux-component-state","owner":"cef62","description":"Component level reducers supporting on-demand creation using Redux and React","archived":false,"fork":false,"pushed_at":"2015-09-13T19:26:49.000Z","size":304,"stargazers_count":33,"open_issues_count":1,"forks_count":4,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-29T08:01:32.300Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/cef62.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-08-08T14:05:01.000Z","updated_at":"2017-11-25T10:03:40.000Z","dependencies_parsed_at":"2022-09-16T21:12:57.795Z","dependency_job_id":null,"html_url":"https://github.com/cef62/redux-component-state","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cef62%2Fredux-component-state","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cef62%2Fredux-component-state/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cef62%2Fredux-component-state/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cef62%2Fredux-component-state/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cef62","download_url":"https://codeload.github.com/cef62/redux-component-state/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249104516,"owners_count":21213532,"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-12-25T13:26:43.871Z","updated_at":"2025-04-19T12:46:26.185Z","avatar_url":"https://github.com/cef62.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# redux-component-state\n\n[![Build Status](https://travis-ci.org/cef62/redux-component-state.svg?branch=master)](https://travis-ci.org/cef62/redux-component-state)\n[![npm version](https://img.shields.io/npm/v/redux-component-state.svg?style=flat-square)](https://www.npmjs.com/package/redux-component-state) \n\nComponent level state's manager using redux reducers to support on-demand store creation.\n\nThis project is born to satisfy some requirement for an internal app. We needed  to create and destroy store fragments on-demand for some specific component. Initially we tried to define specific component reducers, registering them at application start. It worked fine but we not liked define component specific details at application level.\nReducer and action creators of a component state should be isolated and available only to its owner component.\n\n[This discussion](https://github.com/rackt/redux/issues/159) is related with our requirements and the initial proposal of Dan Abramov (@gaeron) and the experiment from Taylor Hakes (@taylorhakes) helped out to create this project.   \nThanks to both!\n\nThe project is in its initial state and lot of work still needs to be done but should be fairly safe to use. We use it in production in a small app and at the moment we haven't found problems.\n\n## Todos\n\n- [ ] add complete test coverage (currently WIP)\n- [ ] add usage examples\n- [ ] add jsdocs and remove verbose code comments\n- [ ] improve subscription object API:\n  - [ ] add reset() method\n- [ ] separate `componentStateStore` and `componentState` HoC in different projects\n    to permit use of component states with other libraries than React\n- [ ] further investigate if the current approach bring performance downsides\n\n## Install\n\nInstall it via npm: `npm install --save redux-component-state`.\n\n## How to use\n\nWaiting to better introduction look the example code.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcef62%2Fredux-component-state","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcef62%2Fredux-component-state","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcef62%2Fredux-component-state/lists"}