Comment utiliser onClick pour transmettre des données dans React Hooks
<p>Comment transmettre les données du composant <code>blogItem.js</code> au composant <code>blogDetails.js</code> Cependant, le composant blogItem est importé dans le composant Home.js. Veuillez me dire où dois-je ajouter l'action de clic ? Quelqu'un peut-il partager un exemple ? </p>
<p>Lien CodeSandboX
https://codesandbox.io/s/gallant-water-5bmueq?file=/src/blogItem.js:0-1876</p>
<pre class="brush:php;toolbar:false;">// App.js
importer { BrowserRouter, Route, Routes, Switch } depuis "react-router-dom" ;
importer Home depuis "./src/Home" ;
importer BlogItem depuis "./src/blogItem";
fonction App() {
retour (
<div className="Application">
<NavigateurRouter>
<Itinéraires>
<Chemin d'itinéraire="/" element={<Accueil />}></Route>
<Chemin d'itinéraire="/blogItem" element={<BlogItem />}></Route>
</Itinéraires>
</NavigateurRouter>
</div>
);
}
exporter l'application par défaut ;
//Accueil.js
importer "./styles.css";
importer React, { useState, useEffect, useCallback } depuis "react" ;
importer BlogItem depuis "./blogItem" ;
const Accueil = (accessoires) =>
const [blogItem, setBlogItem] = useState(props);
useEffect(() => {
setBlogItem(accessoires);
}, [accessoires]);
retour (
<div id="Application">
<Article de blog />
</div>
);
} ;
exporter la maison par défaut ;
// BlogItem.js
importer "./styles.css";
importer React, { useState, useEffect, useCallback } depuis "react" ;
const blogData = [
{
identifiant : 1,
date : "25 janvier 2023",
photo : "https://picsum.photos/80",
titre : "Blog de configuration de Cypress",
Détails du blog :
"Meilleur titre ajouté ici. Les données les plus pertinentes ajoutées ici. Le meilleur de tous les temps. Ce ne sera pas une bonne idée de jouer toujours ici.
},
{
identifiant : 2,
date : "22 janvier 2022",
photo : "https://picsum.photos/80",
titre : "Détails de l'état de réaction",
Détails du blog :
"Meilleur titre ajouté ici. Les données les plus pertinentes ajoutées ici. Le meilleur de tous les temps. Ce ne sera pas une bonne idée de jouer toujours ici.
}
];
const BlogItem = ({ id, date, photo, titre, blogDetails }) => {
const [searchResults, setSearchResults] = useState(blogData);
const [state, setState] = useState({ identifiant, date, photo, titre, blogDetails });
const Colonnes = () => (
<div className="blogItems">
<div className="ligne">
<div className="blogArea">
{searchResults.map(({ identifiant, date, photo, titre, blogDetails }) => (
<une clé={id}>
<div className="blogImageSection">
<img alt="id" src={photo} />
<div key={id} className="dataArea">
<span className="dataDate">{date}</span>
<span className="tags">cyprès</span>
<h3>{titre}</h3>
<p>
Meilleur titre ajouté ici. Les données les plus pertinentes ajoutées ici.
Le meilleur de tous les temps. Ce ne sera pas une bonne idée de jouer toujours ici.
</p>
<a href="_blank" className="readmoreLink">
Lire la suite →
≪/a>
</div>
</div>
≪/a>
))}
</div>
</div>
</div>
);
return <Colonnes {...état} />;
} ;
exporter le BlogItem par défaut;</pre>
<p>// BlogDetails.js</p>
<pre class="brush:php;toolbar:false;">importer React depuis "react" ;
const BlogDetails = () => {
retour (
<div id="Application">
<div className="blogDetailsSection">
<div className="ligne">
<div className="blogs-individuels">
<h2>jdd</h2>
<p>Détails du blog</p>
<pré>
<code>const data = []; data.push("football");</code>
≪/pré>
</div>
</div>
</div>
</div>
);
} ;
exporter les détails du blog par défaut;</pre></p>