The new player becomes seriously laggy and basically unusable for me while the transcript is open in the side bar. I'm no React expert but I would guess this is probably because in your implementation, it just creates thousands of <div>s, one for each transcript line (including ones not being displayed!), which lags up the page when React has to re-render it. I suggest making the transcript create div elements on-the-fly and only show the minimum amount of divs required when the user scrolls around/searches. I am using Firefox but this also happens on chromium.