I took Mehmood Ahmad's answer as a pointer and decided to expand this state idea. So the problem with refreshing the block using
props.setAttributes({something: Date.now()});
is that this attribute will persist perpeutally. You can check that it pollutes your real attributes if you switch to Code Editor view, it'll be in that HTML comment.
So, the object you use in your wp.blocks.registerBlockType's edit needs to be built upon or composed with wp.compose.withState. Since I also wanted to use another HOC, wp.data.withSelect, I chose the compose way.
window.wp.compose.compose(
wp.data.withSelect( /* ... */ ),
wp.compose.withState({something: ''})
)(function (props) {
// Actually make use of props.something
});
Then wherever needed, for example in a click handler, you update it with:
props.setState({something: Date.now()});
It'll re-render the block without persisting the value. You must use props.something or nothing will happen.