{"id":13536862,"url":"https://github.com/nihgwu/react-native-dva-starter","last_synced_at":"2025-04-04T13:09:36.203Z","repository":{"id":46933967,"uuid":"85158411","full_name":"nihgwu/react-native-dva-starter","owner":"nihgwu","description":"a React Native starter powered by dva and react-navigation","archived":false,"fork":false,"pushed_at":"2022-12-07T09:47:41.000Z","size":1475,"stargazers_count":642,"open_issues_count":27,"forks_count":145,"subscribers_count":32,"default_branch":"master","last_synced_at":"2025-03-28T12:05:39.073Z","etag":null,"topics":["dva","react-native","react-navigation","starter"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nihgwu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-03-16T05:59:57.000Z","updated_at":"2025-02-25T02:15:11.000Z","dependencies_parsed_at":"2023-01-24T16:31:53.055Z","dependency_job_id":null,"html_url":"https://github.com/nihgwu/react-native-dva-starter","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/nihgwu%2Freact-native-dva-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nihgwu%2Freact-native-dva-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nihgwu%2Freact-native-dva-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nihgwu%2Freact-native-dva-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nihgwu","download_url":"https://codeload.github.com/nihgwu/react-native-dva-starter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247182334,"owners_count":20897379,"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":["dva","react-native","react-navigation","starter"],"created_at":"2024-08-01T09:00:50.726Z","updated_at":"2025-04-04T13:09:36.185Z","avatar_url":"https://github.com/nihgwu.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"# react-native-dva-starter\n\nA React Native starter powered by [dva](https://github.com/dvajs/dva) and [react-navigation](https://github.com/react-community/react-navigation)\n\n## Start\n\n```bash\nnpm install dva-native-cli -g\ndvanative git app\ncd app\nreact-native run-ios # or react-native run-android\n```\n\nGreat thanks to @xuan45 for his cli tool [dva-native-cli](https://github.com/xuan45/dva-native-cli), check that project for more information.\n\n## Advance\n\nThe builtin router of **dva** (not **react-router v4**), doesn't support React Native, we have to integrate other router components, such as **Navigator**, **ExperimentalNavigation**, **react-native-router-flux** and **react-navigation**. Since the former two will be depreciated in flavor of **react-navigation**, which is also be recommended by official, so I choose it to be the navigator.\n\n\u003cdel\u003eIn this starter, I provide a router model to control the default action flow of **react-navigation** to workaround a known [issue](https://github.com/react-community/react-navigation/issues/271). If you don't need this, the integration will be much simpler, you can simply remove the router model and pass **routerReducer** to **extraReducer** of dva `extraReducers: { router: routerReducer }`. Read [Redux Integration](https://reactnavigation.org/docs/guides/redux) and [dva's API](https://github.com/dvajs/dva/blob/master/docs/API.md) for more information.\u003c/del\u003e\n\nAlso there is another workaround for a missing feature https://github.com/react-community/react-navigation/issues/232, so I use two **StackNavigators** to contain the screens with different transition animations, you can create you own transition animations via **transitionConfig**, see https://github.com/react-community/react-navigation/pull/99\n\n## LICENSE\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnihgwu%2Freact-native-dva-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnihgwu%2Freact-native-dva-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnihgwu%2Freact-native-dva-starter/lists"}