eolas/neuron/44f350ea-f6e5-4cdc-865c-2119ac043cfa/React_application_structure.md

62 lines
1.6 KiB
Markdown
Raw Normal View History

2024-12-09 18:34:15 +00:00
---
tags:
- javascript
- react
---
# React application structure
When you use `create-react-app` it creates a default directory structure that is
a sensible one to follow:
```
build/
public/
index.html
src/
index.js
App.js
```
## `public/`
- `public` constains the `index.html` file via which React connects to the
traditional DCOM. Within `index.html` you have `<div id="root">...</div>` as
the entry point where your application is injected into the standard DOM.
- Everything in this folder is as per standard web development practice.
- You shouldn't include React code here but you can paste necessary links and
metadata to the `head` of `index.html`
## `src/`
- It automatically contains `index.js` . This imports `React` and `ReactDOM` and
contains the `ReactDOM.render()` method:
```js
ReactDOM.render(
<App />
document.getElementById('root')
);
```
- The `App` component is your parent component and the container for your app.
It is where you will import your sub-components.
- If you are using React Router `App` becomes the index for the different page
components. See [Routing](Routing.md) for more detail.
## `build`
`build` houses the compiled version of your application, ready to be deployed to
a server. All contents are minified, compressed and optimised using Webpack.
Once you have executed `npm run build` you can test the output by using `serve`
via the console:
```bash
serve -s build
```
`build` will comprise a minified version of `index.html` and a `static/`
directory which holds your compiled CSS and JS that `index.html` links to, as
per a standard static website.