1 if rowA ranks after rowB, -1 if before, 0 if equal.
useReactTable({ sortingFns: { unitPriceSortingFn }, ... });
// A row at $0.10/g sorts after one at $0.02/g.
export function unitPriceSortingFn(rowA: Row<Product>, rowB: Row<Product>) {
const a = getUnitPrice(rowA.original) ?? Number.POSITIVE_INFINITY;
const b = getUnitPrice(rowB.original) ?? Number.POSITIVE_INFINITY;
return a > b ? 1 : a < b ? -1 : 0;
}
TanStack sorting comparator that orders two product rows by their price per base unit (getUnitPrice). Rows whose unit price can't be computed (missing price/quantity or an unconvertible unit) sort to the bottom rather than appearing as the cheapest.