Challening parts
Initially, I disregarded that loadData returns a PROMISE that resolves to a string. I assumed that, hey, at the end we get a string, so ill just do setText(props.loadData()) which will return a string that I need in my paragraph. This is due to my lack of practice with Promises and how they work. Turned out the Promise object gets returned and I was trying to render it.
Things I learned here
I'm sorry but I'm just thinking of the right words to say..
I know they don't sound the way I planned them to be...
On a serious note, just how promises work. In this example, we can tell that the data version string renders first, because it is sync. And the longer text from the promise renders after, because it is async (renders not right away). useEffect is never async; thus, we have to write async function inside the useEffect. Await and then have the same functionality. Await is always used with async.