I would like suggestions on the most efficient way to implement a price / depth ladder GUI in Reactjs.
Each ladder represents a single stock and each row represents the available sizes and traded amounts for each price:

The solution I have currently uses a list (stored in class.state) to render the rows of the stock table. Each item in this list represents a row in the stock table. Each render iterates over this list to output the tables show in the picture.
var items = [];
for (const sid in this.state.stocks) {
const rows = this.state.stocks[sid];
items.push(
<div key={sid} style={{float: 'left'}}>
<Ladder
rows={rows}
/>
</div>
);
}
// doRender
return (
< div id={'container'}>
{items}
</div>
);
`
The prices are updating frequently and the gui is struggling to keep up. I believe this is because each update redraws all table rows. Either way, my solution is not performing well under load.
I want to optimise updates and ensure only the affected rows are rendered / processed.