Velkommen til React Native-grunnkurs! Dette er leksjon 1 av 8. Du kan starte uten konto — fremgangen lagres mens du jobber, og du kan ta en pause når som helst.
Fra nettet til telefonen
Samme komponenttenkning — men View i stedet for div, og ingen luktende CSS.
Du kan React fra nettet — det er hele forutsetningen for dette kurset. Den gode nyheten: komponenttenkningen overlever. Den like ærlige nyheten: alt rundt komponentene er annerledes. Denne leksjonen kartlegger hva som er likt — og hva som byttes ut.
Komponenttenkningen overlever
En React-komponent er en funksjon som returnerer markup, med props inn og state som tegner skjermen på nytt. Det gjelder også i React Native: samme modell, samme krøllparenteser, samme useState. Det som byttes ut, er hva som står i returen — telefonen har ikke nettleserens elementer.
// Nettet (HTML) // Telefonen (React Native)<div class="kort"> <View style={stiler.kort}> <h1>Møte kl. 9</h1> <Text style={stiler.tittel}>Møte kl. 9</Text> <p>Ta med notatbok.</p> <Text>Ta med notatbok.</Text></div> </View>Teksten må bo i Text
Grunnboksen heter View, og tekst heter Text — og det er en hard regel: all tekst skal ligge inni en `<Text>`. Skriver du tekst rett under en <View>, får du en feil, ikke en linje. Det er den vanligste første-feilen i React Native, så vi tar den med en gang:
// Feil: tekst rett i View — krasjer<View style={stiler.kort}>Møte kl. 9</View> // Riktig: teksten ligger i sin egen <Text><View style={stiler.kort}> <Text>Møte kl. 9</Text></View>Stiler som JavaScript-objekter
Det finnes ingen CSS-fil og ingen class="…". Stiler lager du med StyleSheet.create — vanlige JavaScript-objekter — og henger på komponenten med style-proppen:
import { StyleSheet } from "react-native"; const stiler = StyleSheet.create({ kort: { padding: 16, backgroundColor: "#fffaf2" }, tittel: { fontSize: 20, fontWeight: "600" },}); // Bruken: <View style={stiler.kort}> … </View>Og kaskaden? Finnes ikke. En stil gjelder bare komponenten den henger på — ingen regler arver nedover, ingen selectorer konkurrerer om samme element. Det høres ut som et tap; i praksis fjerner det hele sjangeren av «hvor kommer denne fargen fra?»-feil.
Prøv selv
Nettet → telefonen
Trykk på en bit av nett-markupen for å se hva den heter på telefonen.
Det finnes ikke feil her — trykk på alle tre hvis du vil.
Tips
Fire navn dekker det meste
View, Text, Pressable og FlatList. Med de fire har du det div, p, button og ul gjorde på nettet. Du møter alle fire i løpet av kurset — Pressable i leksjon 3, FlatList i leksjon 4.
Du kan nå
- bytte mellom nett-navn og telefon-navn: div → View, p → Text
- forstå at all tekst må ligge inni en <Text>
- skrive stiler med StyleSheet.create og style-proppen — uten kaskade