News Array

Starting point for creating JSFiddles with React.

HTML

<script src="https://unpkg.com/react@16/umd/react.development.js"></script>
<script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.21.0/moment.min.js"></script>
<div id="container"></div>

Babel + JSX

class News extends React.Component {
	constructor(props) {
    super(props);
    const data = [ 
          {content: 'news item one', date: '2018-03-02'},
          {content: 'news item two', date: '2018-03-17'},
          {content: 'news item two', date: '2017-09-21'},
          {content: 'news item one', date: '2017-06-15'}
      ];
      
    data.forEach((item, index) => {
      const yearMonth = moment(item.date).format("MMMM YYYY");
      const previousYearMonth = index
      	? moment(data[index - 1].date).format("MMMM YYYY")
      	: false;
        
      if (yearMonth !== previousYearMonth) {
      	item.title = yearMonth
      }
    });
    
    this.state = {  
      news: data
    }
  }
  render() {
    return( 
    	<div>
        {this.state.news.map((item, index) => {
            return(
              <div>
                  {
                  	item.title && (<h2>{item.title}</h2>)
                  }
                  <p>{item.content}</p> 
              </div>
            ) 
        	}) 
        }
     </div>
   )
  }
}

ReactDOM.render(<News />,document.getElementById('container'));