JSFiddle - React, Tailwind, and code Playground

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.0/knockout-debug.js"></script>
<div id="bindings">
  <ul data-bind="foreach: observableThings">
    <li data-bind="text: id"></li>
  </ul>
</div>
<button data-bind="click: updateValue">Update</button>
<button data-bind="click: forceUpdate">Force Update</button>

JavaScript

var things = [
	{ id: 1, thing: false },	
  { id: 2, thing: false },
	{ id: 3, thing: false },
	{ id: 4, thing: false }
]

var viewModel = function() {
	var self = this;
  
  self.observableThings = ko.observableArray(things);
  
  self.updateValue = function() {
  	self.observableThings()[0].id = 5;
    self.observableThings.valueHasMutated();
  }
  
  self.forceUpdate = function() {
    self.observableThings()[0].id = 5;
 		var origThings = self.observableThings();
    self.observableThings(null);
    self.observableThings(origThings);
  }
}

ko.applyBindings(new viewModel());