I have a feeling you're opening this html file locally. If this is the case the URL in the browser will look something like file:///Users/YourUsername/PathToYourHTMLFile/index.html
If you open up the console from your browser devtools you'll most likely see a CORS policy error. More on CORS here. TLDR when you're using the browser will send a AJAX request to the url provided in src="" attribute, for security reasons the browser will, by default, only allow you to send requests to resources that share the same server but because you're not running a server for the HTML and Javascript file CORS blocks the request.
Update:
The workaround for the CORS problem provided by https://reactjs.org/docs/add-react-to-a-website.html is to add scripts within the body with the "crossorigin" attribute.
After doing so you will find the React component still will not render correctly. If you look in the console you will have an error
"Uncaught SyntaxError: Unexpected token <". That's because you're trying to use JSX to render elements. Browsers only understand html and javascript; JSX is a "syntax extension to JavaScript" and must be compiled before a browser can understand it.
TLDR: The syntax is causing your components to not load. Try this:
index.js
var App = React.createElement('div', false, 'something something darkside');
ReactDOM.render(
App,
document.getElementById('app')
);
Above we're replacing JSX, with top level functions (React.createElement) provided by the React api. When JSX is compiled it will output the same thing.
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<title>Document</title>
</head>
<body>
<div id="app"></div>
<script src="https://unpkg.com/react@16/umd/react.development.js" crossorigin></script>
<script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js" crossorigin></script>
<!-- Load our React component. -->
<script src="./index.js"></script>
</body>
</html>
If you're just starting out with React I highly recommend the tutorial on reactjs.org