React router allow us to create single page application with navigation system allowing the user navigate without reloding the browser. React router also allow the user to use the browser functionality like the back button.
Context api is a way of react app creating global variable which can be used by components. It is alternative to props drilling. React Context api returns a consumer and a provider. Provider is a component which provids the state to its children. on the other hand consumer is a components which uses the state
The useFef hook allows to persist values between renders. It can be used to store a mutable value that does not cause rerender when updated. It can be uset to accessed dom element directly