JSFiddle - React, Tailwind, and code Playground

HTML

Try typing four characters into each field:<br>

<input id="input"> (flicker)<br>

<input id="input2"> (no flicker)

JavaScript

var input = document.getElementById("input");
input.oninput = function() {
    var val = input.value;
    requestAnimationFrame(function() {
        input.value = val.slice(0, 3);
    });
};

var input2 = document.getElementById("input2");
input2.oninput = function() {
    var val = input2.value;
    input2.value = val.slice(0, 3);
};