In procedural programming, the program lists instructions of which and when the variable gets a particular value, or when a block of code is executed. For example, a variable gets its value as a sum of two other integer variables:
$z = $x + $y;
If either $x or $y has been changed after that assignment, nothing changes with the value of $z. Another example—a value returned by a function is assigned to a variable:
$area = area-of-circle($r);
Although it is clearly seen from the code that it calculates the area of a circle with the given radius, if the $r variable is changed, you have to manually update the value of $area.
Reactive programming aims to change that "static" behavior of dependent values. Interactive interfaces of many computer programs and web pages are good examples of a reactive approach. Imagine an online calculator...