JSFiddle - React, Tailwind, and code Playground

HTML

<input id="foo"></div

JavaScript

function bindModelInput(obj, property, domElem) {
  Object.defineProperty(obj, property, {
    get: function() { return domElem.value; }, 
    set: function(newValue) { domElem.value = newValue; },
    configurable: true
  });
}

user = {};
inputElem = document.getElementById("foo");
bindModelInput(user,'name',inputElem);

user.name = "Joe";
alert("input value is now "+inputElem.value);

inputElem.value = 'Bob';
alert("user.name is now "+user.name);