JSFiddle - React, Tailwind, and code Playground

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.mask/1.14.12/jquery.mask.min.js"></script>
<input type="text" id="valor_compra">

JavaScript

var options = {
    onKeyPress: function (valor, e, field, options) {
        let item = parseInt($('#valor_compra').val().replace(/[,.]/g, ''));
        if (item === 0) {
            $('#valor_compra').val('').change();
        }
        var masks = ['000000000.00', 'ZZ'];
        var mask = (valor.length >= 1) ? masks[0] : masks[1];
        $('#valor_compra').mask(mask, options);
    },
    translation: {
        'Z': {
            pattern: /[1-9]/, optional: false
        },
    },
    reverse: true
};

$('#valor_compra').mask('ZZ', options);