React Router is mainly use for developing Single Page Web Applications. React Router is used to define multiple routes in the application. When a user types a a specific URL into the browser, and if this URL path matches any 'route' inside the router file, the user will be redirected to that particular route.
The React Context API is a way for a React app to effectively produce global variables that can be passed around. This is the alternative to 'prop drilling' or moving props from grandparent to child to parent, and so on. context is also touted as an easier, lighter approach to state management using Redux.
Essentially, useRef is like a "box" that can hold a mutable value in its current property. You might be familiar with refs primarily as a way to access the DOM. If you pass a ref object to React with div, React will set its. Current property to the corresponding Dom node whenever that node changes.