When should we use Gatsby.js?

React is great for SPA(Single page application), by using CRA, we can create one in no time, zero configuration.

However, SPA renders in browser, if we query the html of the page, the page is not rendered, it's basically empty, this behavior is not friendly with crawler bots, if our website needs SEO, single page application might not our choice.

Of course we can switch back to old days, writing pure HTML or use template engine like handlebars, but for me, it's very hard to give up all the benefits from React.js. There are some great frameworks that generate high performance static sites and still have 'reactive' features, like Svelte.

Reference: