Well, .isRequired means the whole
data to be there. So without isRequired it means whole object does not have to be there.
In that case you would have to define default props with airbnb-eslint setting.
The no data object case which came to my mind is only possible when not using graphql HoC or with
skip: true . Than yes, it would make sense to provide some default results and maybe
this.props.loading should not be there at all when we were just providing kinda fake data till some condition happen.
But these are corner cases we did not have to face yet.