В реакции предыдущее состояние сравнивается поверхностно.
Поэтому изменение массива без изменения ссылки не вызовет рендеринг.
function onChange(checked) {
const changeTable = tableData;
if (changeTable[checked.key].switch === '') {
changeTable[checked.key].switch = 'Tag';
} else {
changeTable[checked.key].switch = '';
}
// v Won't render
// setTableData(changeTable);
setTableData([...changeTable]);
}