JSFiddle - React, Tailwind, and code Playground

HTML

<input id="input1"/>
    <span id="span1"></span>

JavaScript

var $watches = [];
function $digest(){
    $watches.forEach(function($w){
        var val = $w.val();
        if($w.prevVal !== val){
        	$w.callback(val, $w.prevVal);
          $w.prevVal = val;
        }
    })
}
function $watch(val, callback){
    $watches.push({val:val, callback:callback, prevVal: val() })
}

var realVar;

input1.addEventListener('keyup',function(e){
	realVar=e.target.value; 
	$digest()
}, true);
$watch(function(){return realVar},function(val){
	span1.innerHTML = val;
});