Credo che molti di voi debbano avere familiarità con il concetto di ricorsione . In caso contrario, passare attraverso questo collegamento .
Gli esempi sono il modo migliore per spiegare qualcosa, quindi prenderemo anche un esempio.
Supponiamo che tu debba creare un componente per i commenti nidificati (hai un commento e quando rispondi a quel commento dovrebbe apparire in un formato nidificato e così via)
Ecco un'immagine per riferimento.
Quindi, dividiamo il problema in due parti.
Parte 1: Crea il componente per un normale elenco di commenti.
Parte 2: modificare il componente per i commenti nidificati.
Puoi trovare il codice funzionante completo qui
Parte 1: Crea il componente per un normale elenco di commenti.
Innanzitutto, mantieni uno stato per una serie di commenti.
const getDate = () => {
var today = new Date();
return (
today.getFullYear() + "-" + (today.getMonth() + 1) + "-" + today.getDate()
);
};
const getTime = () => {
var today = new Date();
return today.getHours() + ":" + today.getMinutes();
};
const [commentsArray, setCommentsArray] = useState([
{
username: Jen,
userId: 1,
date: getDate(),
time: getTime(),
content: "How Artistic!",
replies: [
{
username: Elliot,
userId: 2,
date: getDate(),
time: getTime(),
content: "True",
replies: [] //This represents the nested comment
}
]
}
]);
//inside return statement of parent component
<div>
{commentsArray.map((item, index) => {
return (
<CommentItem
key={index}
getDate={getDate}
getTime={getTime}
item={item}
/>
);
})}
</div>
Ecco come appare il tuo componente CommentItem .
import React, { useState }from 'react'
//props.item is each comment
function CommentItem(props) {
return (
<div>
<div>{props.item.username}</div>
<div>{props.item.date} at {props.item.time}</div>
</div>
)
}
export default CommentItem
const nestedComments = (props.item.replies || [])
.map((item, index) => {
return (
<CommentItem
item={item}
key={index}
/>
);
});
Aggiungeremo questa costante nella nostra dichiarazione di ritorno di CommentItem. Quindi, il nostro componente finale assomiglia a questo.
import React, { useState }from 'react'
//props.item is each comment
function CommentItem(props) {
const nestedComments = (props.item.replies || [])
.map((item, index) => {
return (
<CommentItem
item={item}
key={index}
/>
);
});
return (
<div>
<div>{props.item.username}</div>
<div>{props.item.date} at {props.item.time}</div>
<div>{nestedComments}</div>
</div>
)
}
export default CommentItem
Per ora è tutto, per qualsiasi domanda contattami a [email protected] .
Introduzione Un ictus è un'emergenza medica che può colpire chiunque in qualsiasi momento. Si verifica quando il flusso sanguigno verso una parte del cervello viene interrotto, portando a un'improvvisa perdita della funzione cerebrale.
Il test è una parte essenziale dello sviluppo del software. Assicura che il codice sia affidabile, funzioni come previsto e riduce la probabilità di errori.
Nel panorama aziendale in rapida evoluzione di oggi, il concetto di lavoro ibrido e remoto ha acquisito uno slancio senza precedenti. Mentre le aziende continuano ad adattarsi alle mutevoli esigenze e aspettative dei propri dipendenti, esperti di vari settori si sono riuniti per discutere i vantaggi, le sfide e il futuro di questo modo di lavorare trasformativo.
Per evitare ambiguità verranno utilizzati i seguenti termini; Autenticatore; Il telefono cellulare utilizzato per effettuare il login Sito web; Il sito Web o l'applicazione che l'utente sta utilizzando per effettuare la richiesta di accesso al Servizio; Il fornitore che fornisce il servizio dato, ad es
Nel mondo frenetico e competitivo di oggi, la propria carriera gioca un ruolo significativo nella crescita personale, nella stabilità finanziaria e nella soddisfazione generale della vita. Tuttavia, molte persone si trovano intrappolate in un ciclo inesorabile di stagnazione e insoddisfazione, che si esauriscono gradualmente nella loro vita professionale.
"Ehi Siri, suona Me Dive di Olivia Dean." Era maggio 2021 quando ho iniziato il mio tirocinio presso la Future Academy Africa ad Akure, in Nigeria.