JSFiddle - React, Tailwind, and code Playground

JavaScript

let events = [
	{
		date:  '2019-12',
		event: 'name1'
	},
	{
		date:  '2019-12',
		event: 'name2'
	},
	{
		date:  '2019-11',
		event: 'name3'
	},
	{
		date:  '2019-11',
		event: 'name4'
	},
	{
		date:  '2020-10',
		event: 'name5'
	},
	{
		date:  '2020-10',
		event: 'name6'
	},
	{
		date:  '2020-11',
		event: 'name5'
	},
	{
		date:  '2020-11',
		event: 'name6'
	},
	{
		date:  '2020-12',
		event: 'name7'
	},
	{
		date:  '2020-12',
		event: 'name8'
	},
	{
		date:  '2020-12',
		event: 'name9'
	},
];   


let obj = {};

        for (let elem of events) {
            let [year, month] = elem.date.split("-");

            if (obj[year] === undefined) {
                obj[year] = {};
            }

            if (obj[year][month] === undefined) {
                obj[year][month] = [];
            }

            for (let val in obj) {
                if (val == year) {
                   for (let prop in obj[val]) {
                       if (prop == month) {
                           obj[val][prop].push(elem.event);
                       }
                   }
                }
            }
        }
console.log(obj);