One of the major features of React is that it uses what’s called a virtual DOM.
It’s hard to explain since I haven’t taken the time to fully understand it, but in a nutshell it makes a copy of the DOM and holds it in memory and can change that based on the state and update just the portions of the DOM that require it.
There are a lot of articles out there, you can google React virtual DOM.
Here are some links that offer a better explanation.
You don’t need to have a comprehensive understanding to use React but you should understand that you want to render conditionally based on the state rather than directly accessing the DOM when using React.
I haven’t done the project you are on but after I finished the React section of the curriculum I went to the React Docs and followed their tutorial.
Then I went through the main concepts section and followed along.
I planned to do the markdown project after but started to remake an older personal project with React instead.
I highly recommend coding along in those two sections from the offical docs.
Codepen is nice but I find https://codesandbox.io to be better for me for working with React.
Eventually you will want to use https://facebook.github.io/create-react-app/ or you can start with that.
Some more info here in the docs: https://reactjs.org/docs/create-a-new-react-app.html#create-react-app