# Stöd för React

Sedan version 2.8.0 finns stöd för att bygga appar med React.\
Detta stöd har främst tagits fram för att förvalta vidare appar som använder Sitevisions byggskript där vi vill kunna använda samma arbetsflöde och QoL fördelar som övriga appar.

Rekommenderat ramverk är fortsatt Svelte för nya appar.

Vi följer samma stuktur som standard WebAppar, RESTAppar och Widgets i Sitevision.\
[Läs mer på Developer webben](https://developer.sitevision.se/docs/webapps/structure).

## Kom igång

Migrera en app automatiskt genom att köra följande kommando som kommer migrera en app från `@sitevision/sitevision-scripts` till `@soleil-se/build-app`:

```bash
npx @soleil-se/run migrate-sitevision-scripts
```

## Styling

Då Sitevision använder CSS Modules för att hantera styling i WebAppar, så är detta det rekommenderade sättet när vi fortsätter att bygga appar med React.

[Läs mer om styling på Developer webben](https://developer.sitevision.se/docs/webapps/styling).

> **Observera**
>
> Sitevision använder inte standard för att markera filer som CSS Modules, dvs filnamnet innehåller **inte** `module`, exempelvis `App.module.scss`.\
> Utan alla filer som importeras hanteras som CSS Modules när React finns som ett direkt beroende i `package.json`.
>
> ```js
> import styles from './App.scss';
> ```
>
> För att läsa in global CSS har de därför konventionen att lägga på `?nomodules` på importen.
>
> ```js
> import './global.css?nomodules';
> ```