Yes, currently this is the recommended and only way to inject the HTML element into the column headers. Performance shouldn’t be an issue here. The reason that there are so many renders comes from the fact that Handsontable rendering engine works this way and re-renders the table with each change, including scrolling.