Gutenberg Block empty after reload of editor

I was able to make your block save and load on refresh by changing the edit to so:

edit: function(props) {
    return [
        el(
            'div',
            { className : props.className },
            el( 'div', null,
                el( RichText, {
                    multiline: null,
                    formattingControls: ['link'],
                    onChange: function (element) {
                        props.setAttributes({link: element});
                    },
                    tagName: 'div',
                    value: props.attributes.link,
                } )
            )
        )
    ];
},

Notably, I removed the children array logic and placed props.attributes.link in RichText‘s value instead of a third attribute on el()