{"id":22736972,"url":"https://github.com/emadb/reactive-react","last_synced_at":"2025-07-19T13:02:27.258Z","repository":{"id":141499791,"uuid":"66571709","full_name":"emadb/reactive-react","owner":"emadb","description":"An experimental implementation of a reactive react.js component (using xstream)","archived":false,"fork":false,"pushed_at":"2016-09-01T14:47:35.000Z","size":19,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-05T05:29:38.151Z","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/emadb.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-08-25T15:46:30.000Z","updated_at":"2016-08-25T15:58:32.000Z","dependencies_parsed_at":null,"dependency_job_id":"bbb5a9d9-2578-46bf-a1ef-deadf2764c37","html_url":"https://github.com/emadb/reactive-react","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emadb%2Freactive-react","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emadb%2Freactive-react/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emadb%2Freactive-react/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emadb%2Freactive-react/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/emadb","download_url":"https://codeload.github.com/emadb/reactive-react/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246269933,"owners_count":20750321,"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-10T22:08:45.043Z","updated_at":"2025-03-30T03:15:04.556Z","avatar_url":"https://github.com/emadb.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"#Experiments with React.js and xstream\n\nThis is a sample implementation of a React.js app that uses Reactive streams ([xstreams](https://github.com/staltz/xstream)) to manage the websocket events from the server.\n\nThe server is just a basic express application that starts a couple of timers. On every tick (tick and tack) it sends an event to the connected clients\n\nThe client is a react app with just a componenent (Index.js) that starts and stops the timers. The Wrapper.js contains the subscription logic to the websocket.\nEvery websocket event is transformed into a stream of events. The events are processed by the usual reducers.\n\nTo test the app just run the server (node index.js) and start the client (npm run dev). Open the browser on port http://localhost:8080 and press the start button.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femadb%2Freactive-react","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Femadb%2Freactive-react","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femadb%2Freactive-react/lists"}