React onChange in vanilla JS

by kpulkit29

HTML

<input type="text" id="dev" />

JavaScript

let element = document.getElementById("dev");
var input = (function(elem){
let attrVal;
 return {
   set attr(v){
    attrVal = v;
   },
   get attr(){
     return attrVal;
   }
 };
})(element);

function setInput(e) {
  let currVal = e.target.value;
  let onChange = element.onChange;
  if(input.attr !== currVal) onChange(currVal);
  input.attr = currVal;
}
element.addEventListener("keyup", setInput);
element.onChange = function(val){console.log("Hey the new value is", val)};