WEBVTT

1
00:01.190 --> 00:02.330
Bentornati.

2
00:02.330 --> 00:05.960
Perché lo stato è un concetto molto
importante in Jetpack Compose.

3
00:05.960 --> 00:08.420
Faremo un rapido riepilogo al riguardo.

4
00:08.420 --> 00:10.670
L'avete già visto in passato.

5
00:10.670 --> 00:11.630
Testo VAR.

6
00:11.810 --> 00:18.650
Ricordiamo che stato mutabile di stato
mutabile di produrrà un oggetto stato
mutabile

7
00:18.650 --> 00:22.700
che conterrà il valore del nostro stato,
che è una stringa vuota.

8
00:22.700 --> 00:33.170
Ricordare di dire a compose che dovrà
ricordare il

9
00:33.170 --> 00:34.400
valore passato, in modo da non eseguire il
lambda.

10
00:34.400 --> 00:40.040
Ogni ricomposizione da è una parola chiave
Kotlin per la delega.

11
00:40.040 --> 00:48.020
Nasconde il fatto che lo stato mutabile di
restituisce un oggetto di stato

12
00:48.020 --> 00:51.800
mutabile e ci permette di usare il testo
come se fosse una stringa.

13
00:51.830 --> 00:58.730
Esistono tre modi per dichiarare un
oggetto a stato mutabile in un oggetto
componibile

14
00:58.730 --> 01:02.000
val stato mutabile equivale a ricordare lo
stato mutabile del valore predefinito var
da.

15
01:02.000 --> 01:11.280
Ricorda lo stato mutabile
dell'impostazione predefinita e il valore
di val equivale a ricordare lo stato
mutabile dell'impostazione predefinita.

16
01:11.310 --> 01:19.290
Preferisco usare il testo var per
ricordare lo stato mutabile di questa

17
01:19.290 --> 01:20.940
tecnica e questo modo di dichiarare un
oggetto di stato mutabile.

18
01:20.970 --> 01:30.780
Queste dichiarazioni sono equivalenti e
sono fornite come zucchero sintattico per
i diversi usi dello stato.

19
01:30.810 --> 01:38.250
Si dovrebbe scegliere quello che produce
il codice più facile da leggere nel
composito che si sta scrivendo.

20
01:38.280 --> 01:44.970
E come ho detto, var text binary member
mutable state of è il migliore.

21
01:45.000 --> 01:53.970
Esaminiamo ora cosa accadrebbe se mancasse
una di queste parole magiche.

22
01:54.000 --> 01:58.530
Iniziamo con il non utilizzare lo stato
mutabile di.

23
01:58.530 --> 02:07.500
Quindi, se dichiariamo il membro binario
var text e mettiamo una stringa vuota
invece di usare lo stato mutabile

24
02:07.530 --> 02:14.790
di, questo non funzionerà, anche se nel
nostro codice siamo in grado di modificare
il valore di text.

25
02:14.820 --> 02:18.510
La nostra UI non sarà a conoscenza di tale
cambiamento.

26
02:18.510 --> 02:24.780
Di conseguenza, l'interfaccia utente non
verrà aggiornata quando si aggiorna la
stringa.

27
02:24.810 --> 02:31.140
Il secondo caso è quello in cui non si usa
ricordare il testo var per stato mutabile
di.

28
02:31.170 --> 02:33.240
Neanche questo funzionerà.

29
02:33.240 --> 02:39.840
Non appena si cambia il testo, compose
aggiorna correttamente l'interfaccia
utente.

30
02:39.870 --> 02:47.220
Quando si aggiorna lo stato, si esegue
anche lo stato mutabile di nuovo,

31
02:47.220 --> 02:50.580
ricreando l'oggetto stato e renderizzando
l'interfaccia utente con il valore del
testo.

32
02:50.610 --> 02:59.460
In questo caso, nell'applicazione del
contatore, il valore del contatore

33
02:59.460 --> 03:02.340
verrà aggiornato e azzerato e poi
incrementato di uno.

34
03:02.340 --> 03:07.920
Quindi azzerare il valore perché non
esiste una funzione di memorizzazione.

35
03:07.950 --> 03:15.390
Il terzo caso è quello di non utilizzare
var text equals per ricordare lo stato
mutabile di.

36
03:15.420 --> 03:16.590
Questo funzionerà.

37
03:16.620 --> 03:24.760
Non sarà più possibile trattare il testo
come una stringa per aggiornare o
modificare lo

38
03:24.760 --> 03:28.960
stato, ma sarà necessario accedere al suo
valore utilizzando il punto valore del
testo.

39
03:28.960 --> 03:30.970
Questi sono i tre casi.

40
03:30.970 --> 03:34.780
Li abbiamo visti nell'applicazione dello
sportello.

41
03:34.780 --> 03:43.900
Tuttavia, ogni volta che assegniamo un
nuovo stato a una variabile dichiarata con
stato mutabile,

42
03:43.900 --> 03:52.120
Jetpack Compose aggiornerà automaticamente
tutte le parti dell'interfaccia utente che
dipendono da quel valore.

43
03:52.150 --> 03:54.220
Questa operazione si chiama
ricomposizione.

44
03:54.220 --> 04:02.800
Durante la ricomposizione, i valori di
tutte le variabili del componibile che
viene ricomposto vengono azzerati.

45
04:02.800 --> 04:06.790
Per evitare il reset delle variabili di
stato, utilizziamo.

46
04:06.790 --> 04:07.750
Ricorda.

47
04:07.750 --> 04:15.400
Questo è un rapido riassunto di questa
sezione e di ciò che abbiamo imparato

48
04:15.400 --> 04:19.240
prima su queste parole chiave, ricordando
lo stato mutabile di e l'oggetto state.

49
04:19.270 --> 04:25.900
Ora passiamo ad Android Studio e impariamo
di più su queste parole chiave.


