JSFiddle - React, Tailwind, and code Playground

HTML

<div id="chat_window"></div>

<button>Simulate new chat message</button>

CSS

#chat_window {
    width: 200px;
    height: 200px;
    overflow: auto;
    border: 1px solid red;
    padding: 10px;
}
p {
    border-bottom: 1px solid #000;
    padding-bottom: 10px;
    margin-bottom: 10px;
}

JavaScript

var messages = ['Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis lobortis congue pretium. Pellentesque a dolor odio. Sed et nisl augue. Integer a nisi a tortor ornare mattis non ac erat. Aliquam posuere tellus urna, sed convallis tortor. Ut tincidunt fermentum ligula et porta. Phasellus ut faucibus lacus. Nullam placerat viverra tortor at luctus. Etiam aliquam, nulla quis facilisis consequat, enim diam blandit dolor, pulvinar adipiscing mi diam ut neque. Fusce nec orci nisi, vitae pretium nulla. Integer lobortis ligula in odio pellentesque sed commodo ante lobortis.','Vestibulum hendrerit mauris a enim suscipit non venenatis sem rhoncus. Mauris in nunc orci. Nam tincidunt purus eget eros imperdiet sit amet consequat libero sodales. Ut id vestibulum est. Morbi scelerisque vestibulum lorem, in condimentum felis interdum eu. Duis tincidunt, velit vel rutrum venenatis, enim mi ultrices nisl, vel accumsan lectus lectus et purus. Praesent a massa vel urna consequat porta. Aliquam mollis, leo vel lacinia porttitor, dolor nulla malesuada velit, vel gravida purus massa ut massa. Aliquam non pretium dolor. Duis non dui eget nisi euismod volutpat. Aliquam bibendum rhoncus ligula, nec aliquam urna semper a. Sed bibendum, ligula et tincidunt lacinia, sem ligula hendrerit dui, nec feugiat libero magna vel tortor. Quisque quis velit sed libero eleifend hendrerit. Quisque nisi dui, egestas nec ultrices quis, rutrum vitae lacus. Nullam tristique nisi eu lorem pellentesque a vulputate purus venenatis.','Fusce augue neque, faucibus venenatis posuere vitae, aliquet et odio. Curabitur ut dolor dolor. In hac habitasse platea dictumst. Duis suscipit sodales lectus non volutpat. Integer consectetur mauris sit amet elit convallis id ornare tortor ornare. Maecenas erat magna, vehicula vel bibendum non, consequat non neque. Vivamus sem lacus, tincidunt id sollicitudin a, luctus adipiscing turpis. Nunc tincidunt accumsan tellus ac euismod. Pellentesque ornare urna sit amet est...