How to handle user authentication in modern React Applications with context and hooks