Skip to content

🟠 InjectionToken

Challenge #39

Created by Thomas Laforge

Information

In this small application, we start with a VideoComponent containing a 1-second timer. The development team decided to use a global constant to store the timer value: DEFAULT_TIMER. However, a few weeks later, the product team wants to add a new screen for phone calls called PhoneComponent, and we want to reuse the TimerComponent. However, the product team wants a timer of 2 seconds. How can we achieve this?

Statement

Currently, the timer is still 1 second for the PhoneComponent. The goal of this challenge is to change the timer value to 2 seconds for the PhoneComponent.

Constraints

The use of @Input is forbidden. This example is basic, and using @Input could be a good option, but in more complex applications, the component we need to update can be deeply nested, making the use of @Input a really bad design.

Hint

Hint 1

Looking at this blog post can be of great help.