If you want to implement this using bootstrap, make sure that your HTML, body tag, and the div where react is mounted all have a height: 100%
.
Check out Codesandbox for an example: https://codesandbox.io/s/wonderful-leftpad-sxold7?file=/src/App.js:0-4551
<div class="d-flex m-3 flex-column h-100">
<div class="d-flex flex-row col overflow-auto">
<div class="col">
<div class="d-flex justify-content-around mb-3">
<div class="col-3">
<div class="h-100 color p-3 box red" style={{ borderRadius: '5%' }}>
<div>
<h4 class=" title">TEXT</h4>
<h5 class=" card-text">TEXT</h5>
</div>
<div>
<h5 class=" card-text">ICON</h5>
</div>
</div>
</div>
<div class="col-3">
<div class="h-100 color p-3 box red" style={{ borderRadius: '5%' }}>
<div>
<h4 class=" title">LONG TEXT</h4>
<h5 class=" card-text">TEXT</h5>
</div>
<div>
<h5 class=" card-text">ICON</h5>
</div>
</div>
</div>
<div class="col-3">
<div class="h-100 color p-3 box red" style={{ borderRadius: '5%' }}>
<div>
<h4 class=" title">TEXT</h4>
<h5 class=" card-text">TEXT</h5>
</div>
<div>
<h5 class=" card-text">ICON</h5>
</div>
</div>
</div>
</div>
<div class=" d-flex justify-content-around mb-3">
<div class="col-3">
<div class="h-100 color p-3 box red" style={{ borderRadius: '5%' }}>
<div>
<h5 class=" title text-uppercase">TEXT</h5>
<h4 class=" card-text text-capitalize">TEXT</h4>
</div>
<div>
<h5 class=" card-text">ICON</h5>
</div>
</div>
</div>
<div class="col-3">
<div class="h-100 color p-3 box red" style={{ borderRadius: '5%' }}>
<div>
<h5 class=" title text-uppercase">TEXT</h5>
<h4 class=" card-text">TEXT</h4>
</div>
<div>
<h5 class=" card-text">ICON</h5>
</div>
</div>
</div>
<div class="col-3">
<div class="h-100 color p-3 box red" style={{ borderRadius: '5%' }}>
<div>
<h5 class=" title text-uppercase">TEXT</h5>
<h4 class=" card-text">TEXT</h4>
</div>
<div>
<h5 class=" card-text">ICON</h5>
</div>
</div>
</div>
</div>
<div class=" d-flex justify-content-around mb-3">
<div class="col-3">
<div class="h-100 color p-3 box red" style={{ borderRadius: '5%' }}>
<div>
<h5 class=" title text-uppercase">TEXT</h5>
<h4 class=" card-text text-capitalize">TEXT</h4>
</div>
<div>
<h5 class=" card-text">ICON</h5>
</div>
</div>
</div>
<div class="col-3">
<div class="h-100 color p-3 box red" style={{ borderRadius: '5%' }}>
<div>
<h5 class=" title text-uppercase">TEXT</h5>
<h4 class=" card-text">LONG LONG TEXT</h4>
</div>
<div>
<h5 class=" card-text">ICON</h5>
</div>
</div>
</div>
<div class="col-3">
<div class="h-100 color p-3 box red" style={{ borderRadius: '5%' }}>
<div>
<h5 class=" title text-uppercase">TEXT</h5>
<h4 class=" card-text">TEXT</h4>
</div>
<div>
<h5 class=" card-text">ICON</h5>
</div>
</div>
</div>
</div>
</div>
<div class="col">
<div class=" color p-3 box red" style={{ borderRadius: '5%' }}>
<div>
<h4 class=" title">TEXT</h4>
</div>
<div>
<h5 class=" card-text">ICON</h5>
</div>
</div>
</div>
</div>
<div class="col bg-dark" style={{flex: '0 0 150px'}}>
<h3 class="text-success">BOTTOM NAV BAR</h3>
</div>
</div>