{"repo":"salvoravida/redux-first-history","free":true,"listed":false,"github":"https://github.com/salvoravida/redux-first-history","clone":"git clone https://github.com/salvoravida/redux-first-history.git","description":"Redux history binding support react-router - @reach/router - wouter - react-location","language":"TypeScript","stars":454,"topics":["redux","first","history","react-router","reach","router","reachrouter","react-router-redux","connected","withrouter"],"license":"MIT","category":"ui-components","readme_excerpt":"redux-first-history Redux First History - Make Redux 100% SINGLE-AND-ONLY source of truth! Redux history binding for react-router @reach/router wouter react-location Mix react-router - @reach/router - wouter - react-location in the same app! See Demo. Compatible with immer - redux-immer - redux-immutable . :tada: A smaller, faster, optionated, issue-free alternative to connected-react-router Table of Contents - Main Goal - Demo - Main Features - Installation - Usage - Options - Advanced Config - Feedback - Credits & Inspiration - Contributors - License Main Goal While working with relatively large projects, it's quite common to use both redux and react-router . So you may have components that take location from the redux store, others that take location from router context, and others from withRouter HOC. This can generate sync issues, due to the fact that many components are updated at different times. In addition, React shallowCompare rendering optimization will not work as it should. With redux-first-history , you can mix components that get history from wherever, they will always be tunneled to state.router.location ! Use whatever you like. History will just work as it should. Mix redux, redux-saga, react-router, @reach/router, wouter and react-location without any synchronization issue! Why? Because there is no synchronization at all! There is only one history: reduxHistory! One way data-flow One unique source of truth No more location issues! Demo - react-router v6: htt","default_branch":null,"files":null,"tree":[],"storefront":"/r/salvoravida","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/salvoravida/redux-first-history/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}