Richiesta consiglio su funzioni

Ciao a tutti, ho un problema: devo fare un progetto qui su fcc, e per realizzarlo avevo bisogno di una funzione che si ripetesse lei stessa all’infinito; ho provato con un loop infinito, risultato si è impallato il browser, avevo pensato si impostare un timeOut, ma quando ho provato dall editor di codice la funzione non si ripeteva all’infinito, ma solo la prima e unica volta. Chiedo consigli su quale strada seguire, aggiungendo che vorrei inserirla in un componente react questa funzione che si ripete all’infinito. Grazie a chi mi aiuterà!

puoi aggiungere qualche dettaglio in più?

Si, il progetto riguarda questa sfida, ho già creato il mio componente, ora devo solo fare in modo che si aggiorni tante volte al click per ottenere una nuova citazione. La funzione in questione lho già creata, devo solo farla ripetere all’infinito per ogni click. un aiutino? :slight_smile:

non all’infinito, allora, ti serve che si attivi quando il pulsante viene clickato - hai imparato come attivare una funzione quando il pulsante viene clickato nel corso

si, questa funzione onClick l ho gia aggiunta nel mio componente, adesso avevo bisogno o che si ripetesse, o che ad un secondo click mi dia un nuovo return in pratica. Cosa mi consigli? per essere chiari il componente con la funzione onClick è qui: progetto codepen
Finora con questa funzione ho la mia prima citazione col primo autore, al primo click raggiungo la seconda citazione e il secondo autore, non credo basti per completare la challenge anche se è vero che non è specificato il numero di citazioni da dover far apparire, e poi un altro mio problema sulla sfida è quella che cè una user-story da adiempiere, cioè quella che al refresh della pagina ci sia sempre una nuova citazione. Questi sono i miei problemi, spero mi puoi dare qualche dritta sulla via che ho intrapreso del componente react.

Heya.

Per nostra fortuna la user story non specifica che la citazione sia sempre nuova ad ogni load della pagina, ma semplicemente che sia presente una citazione.

On first load, my quote machine displays a random quote in the element with id="text" . .

Non dice, ne tanto meno controlla che ci sia una nuova citazione. Basta semplicemente che ci sia un valore iniziale.


Il mio consiglio è di integrare il widget per testare il tuo progetto, e vedere quanti test riesci a passare. Non saranno molti perchè ti mancano praticamente tutti gli ID e il layout richiesto.

Ma appena sistemati vedrai che sei piu avanti di quello che pensi.

ah ok ottimo! allora (forse) il componente che ho scritto gia basta magari, o comunque posso modificarlo credo per una terza ed ultima cit con un po di lavoro! per l html si hai ragione mi mancano tutti gli id, volevo impostare js prima, ma va bene ci lavorerò :slight_smile:

L’ho appena risolta la challenge. certo si vede che sono alle prime armi ma l’importante è sempre e solo che funzioni! Grazie mille a entrambi :slight_smile:

Ottimo!

Ora se mi posso permettere, non mi accontenterei della prima e minima soluzione, ma ci itererei sopra cercando modi per migliorare il progetto.

Ad esempio, potresti cercare un modo migliore per avere piu citazioni, e magari far si che siano dinamiche, o randomiche anzi che due che sone scritte direttamente nel codice.

Ad esempio una implementazione molto naive potrebbe utilizzare un array di citazioni:

[cit1, cit2, cit3 ...]

E sta poi a te trovare un metodo per iterare e cambiare quale citazioni mostri dalla lista.
Che è gia molto piu simile a quello che ti potrebbe capitare in uno scenario reale, dove richiedi a un qualche server una lista di elementi, e sta a te come front-end mostrare e iterare dalla suddetta.

si era quello che avevo intenzione di fare all’inizio del progetto! i miei problemi erano appunto randomizzare la cit iniziale e iterare le altre, lavorerò di sicuro anche su questo! :slight_smile: