{"id":13445949,"url":"https://github.com/ui-router/react","last_synced_at":"2025-05-15T14:04:40.052Z","repository":{"id":9311680,"uuid":"61573702","full_name":"ui-router/react","owner":"ui-router","description":"🔼 UI-Router for React","archived":false,"fork":false,"pushed_at":"2024-03-22T16:57:17.000Z","size":4914,"stargazers_count":518,"open_issues_count":30,"forks_count":134,"subscribers_count":14,"default_branch":"master","last_synced_at":"2025-05-08T09:52:13.851Z","etag":null,"topics":["javascript","react","router","spa","state-machine","typescript","ui-router"],"latest_commit_sha":null,"homepage":"https://ui-router.github.io/react/","language":"TypeScript","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/ui-router.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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-06-20T19:14:56.000Z","updated_at":"2025-05-07T15:18:37.000Z","dependencies_parsed_at":"2024-06-18T12:29:41.252Z","dependency_job_id":"2908cda1-086b-437b-81bd-0c45a46cbeea","html_url":"https://github.com/ui-router/react","commit_stats":{"total_commits":881,"total_committers":20,"mean_commits":44.05,"dds":0.7446083995459705,"last_synced_commit":"4756891ee0790e68f9c871bffc1fcb80991043f0"},"previous_names":[],"tags_count":35,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ui-router%2Freact","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ui-router%2Freact/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ui-router%2Freact/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ui-router%2Freact/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ui-router","download_url":"https://codeload.github.com/ui-router/react/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254355334,"owners_count":22057354,"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":["javascript","react","router","spa","state-machine","typescript","ui-router"],"created_at":"2024-07-31T05:00:42.438Z","updated_at":"2025-05-15T14:04:40.026Z","avatar_url":"https://github.com/ui-router.png","language":"TypeScript","readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://rawgit.com/ui-router/react/master/logo/logo.png\" height=\"150\"/\u003e\n  \u003ch1\u003eUI-Router-React\u003c/h1\u003e\n  \u003ca href=\"https://travis-ci.org/ui-router/react\"\u003e\n    \u003cimg src=\"https://img.shields.io/travis/ui-router/react/master.svg?style=flat-square\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://www.npmjs.org/package/@uirouter/react\"\u003e\n    \u003cimg src=\"https://img.shields.io/npm/v/@uirouter/react.svg?style=flat-square\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://greenkeeper.io/\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Greenkeeper-enabled-green.svg?style=flat-square\" alt=\"Greenkeeper badge\"\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\nUI-Router provides extremely flexible, state based routing to the [React](https://facebook.github.io/react/) ecosystem.\n\nRouting frameworks for SPAs update the browser's URL as the user navigates through the app. Conversely, this allows changes to the browser's URL to drive navigation through the app, thus allowing the user to create a bookmark to a location deep within the SPA.\n\nUI-Router applications are modeled as a hierarchical tree of states. UI-Router provides a [_state machine_](https://en.wikipedia.org/wiki/Finite-state_machine) to manage the transitions between those application states in a transaction-like manner.\n\n## Docs \u0026 Resources\n\n* [Tutorials and Docs](/docs)\n* [Examples](/examples)\n* [UI-Router website](https://ui-router.github.io/)\n* [Changelog](/CHANGELOG.md)\n* [Upgrading from `0.3.x` to `0.4.x`](/docs/upgrading-from-0.3.x-to-0.4.x.md)\n\n## Getting started\n\nThe UI-Router package is distributed using [npm](https://www.npmjs.com/), the node package manager.\n\n```\nyarn add @uirouter/react\n```\n\nImport `UIRouter` into your project, define some states and you're good to go!\n\n```jsx\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport { UIRouter, UIView, pushStateLocationPlugin } from '@uirouter/react';\nimport Home from './components/Home';\n\n// define your states\nconst states = [\n  {\n    name: 'home',\n    url: '/home',\n    component: Home,\n  },\n];\n\n// select your plugins\nconst plugins = [pushStateLocationPlugin];\n\nReactDOM.render(\n  \u003cUIRouter plugins={plugins} states={states}\u003e\n    \u003cUIView /\u003e\n  \u003c/UIRouter\u003e,\n  document.getElementById('root'),\n);\n```\n","funding_links":[],"categories":["Uncategorized","TypeScript"],"sub_categories":["Uncategorized"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fui-router%2Freact","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fui-router%2Freact","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fui-router%2Freact/lists"}