{"id":18644796,"url":"https://github.com/sudhilraj/redux-tutorial","last_synced_at":"2026-04-15T09:31:39.413Z","repository":{"id":46194548,"uuid":"425772960","full_name":"SudhilRaj/Redux-Tutorial","owner":"SudhilRaj","description":"A repository created while learning Redux","archived":false,"fork":false,"pushed_at":"2024-04-30T13:04:47.000Z","size":422,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-17T18:07:34.885Z","etag":null,"topics":["react-redux","react-router","redux","redux-devtools-extension","redux-thunk"],"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/SudhilRaj.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":"2021-11-08T09:24:42.000Z","updated_at":"2024-04-30T13:04:50.000Z","dependencies_parsed_at":"2024-04-30T14:29:24.202Z","dependency_job_id":"33b0bdc2-8bea-4011-a7da-88b6e9f7cf4f","html_url":"https://github.com/SudhilRaj/Redux-Tutorial","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/SudhilRaj/Redux-Tutorial","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SudhilRaj%2FRedux-Tutorial","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SudhilRaj%2FRedux-Tutorial/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SudhilRaj%2FRedux-Tutorial/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SudhilRaj%2FRedux-Tutorial/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SudhilRaj","download_url":"https://codeload.github.com/SudhilRaj/Redux-Tutorial/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SudhilRaj%2FRedux-Tutorial/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31834515,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-15T07:17:56.427Z","status":"ssl_error","status_checked_at":"2026-04-15T07:17:30.007Z","response_time":63,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["react-redux","react-router","redux","redux-devtools-extension","redux-thunk"],"created_at":"2024-11-07T06:13:40.748Z","updated_at":"2026-04-15T09:31:39.388Z","avatar_url":"https://github.com/SudhilRaj.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Redux\n\nRedux is a predictable state container for JavaScript applications, commonly used with React but compatible with any UI library. It provides a centralized store to manage the state of our application, making it easier to maintain and debug complex data flow. Redux employs a unidirectional data flow model, where state changes are handled through actions and reducers, ensuring a predictable outcome. With Redux, we can efficiently manage application state, handle asynchronous actions, and implement time-travel debugging for improved development efficiency and scalability\n\nRedux consists of several key parts that work together to manage application state efficiently:\n\n### Store:\nThe store is a centralized repository that holds the entire state tree of our application. It is responsible for dispatching actions, updating the state based on those actions, and notifying subscribers about state changes.\n### Actions:\nActions are plain JavaScript objects that represent events or payloads of data that describe changes in the application state. They are dispatched by components or middleware and are the only way to modify the state in Redux.\n### Reducers:\nReducers are pure functions responsible for specifying how the application's state changes in response to dispatched actions. Each reducer takes the current state and an action as arguments, and returns the new state based on the action type.\n### Middleware:\nMiddleware provides a third-party extension point between dispatching an action and the moment it reaches the reducer. It can be used for logging, performing asynchronous operations, or applying additional logic to actions before they reach the reducers.\n### Selectors:\nSelectors are functions used to extract specific pieces of data from the Redux store state. They encapsulate the logic for deriving computed data from the state and are often used in conjunction with memoization techniques to improve performance.\n### Action Creators:\nAction creators are functions that create and return action objects. They encapsulate the logic for creating actions with predefined payloads, making it easier to dispatch actions from components or middleware.\n### Subscription:\nSubscribers are functions that are notified whenever the state in the Redux store changes. Components can subscribe to the store to receive updates and re-render when the state changes.\n\nThese parts work together to create a robust and predictable state management system in Redux, enabling developers to build scalable and maintainable JavaScript applications.\n\n- Refer the source code for the Redux setup in a React application.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsudhilraj%2Fredux-tutorial","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsudhilraj%2Fredux-tutorial","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsudhilraj%2Fredux-tutorial/lists"}