JSFiddle - React, Tailwind, and code Playground

HTML

<button data-bind="click: generate">Generate</button>
<button data-bind="click: pushNewValue, visible: itemsFromGenerator().length > 0">PushNewValue</button>

JavaScript

function ViewModel(itemGenerator) {
    var self = this;
    this.itemsFromGenerator = ko.observableArray();
    this.generate = function() {
        self.itemsFromGenerator(ko.utils.unwrapObservable(itemGenerator()));                                       
    };
    this.pushNewValue = function() {
        self.itemsFromGenerator.push("D");
    };
    this.itemsFromGenerator.subscribe(function(newValue) {
        console.log(newValue);
    });
}
function generator() {
    var arr = ["A", "B", "C"];
    //return arr;
    return ko.observableArray(arr);
}
var viewModel = new ViewModel(generator);
ko.applyBindings(viewModel);