When to Use Redux and When to Use Context API: Making the Right Choice for State Management