Im travaillant sur un projet ReactJS où vous pouvez générer une activité aléatoire en appuyant sur le bouton générer. Je fais un aller chercher à mon API pour afficher des données. Cela fonctionne bien. Maintenant, je veux faire la récupération et afficher les données retournées chaque fois que je clique sur le bouton de génération (qui est dans le composant home). Le bouton générer doit donc faire une nouvelle extraction et actualiser le composant. De plus, il doit être vide par défaut. J'ai cherché un moment et je ne trouve pas de réponse pertinente. Est-ce que certains d'entre vous peuvent m'aider? Merci.ReactJS afficher la réponse d'extraction onClick
composante d'extraction
import React from 'react'
export class ItemLister extends React.Component {
constructor() {
super();
this.state={suggestion:""}
}
componentDidMount(){
fetch("......./suggestions/random", {
method: "GET",
dataType: "JSON",
headers: {
"Content-Type": "application/json; charset=utf-8",
}
})
.then((resp) => {
return resp.json()
})
.then((data) => {
this.setState({ suggestion: data.suggestion })
})
.catch((error) => {
console.log(error, "catch the hoop")
})
}
render() {
return(
<h2>
{this.state.suggestion}
</h2>
)
}
}
composant maison
import React from 'react'
import {ItemLister} from './apiCall'
export class Home extends React.Component {
constructor(props) {
super(props)
console.log()
window.sessionStorage.setItem ('name',this.props.params.name)
window.sessionStorage.setItem ('token', this.props.params.token)
}
render() {
return (
<div className="contentContainer AD">
<table>
<thead>
<tr>
<th><p>Het is heel leuk als het werkt!</p></th>
</tr>
</thead>
<tbody >
<tr><td><ItemLister/></td></tr>
</tbody>
</table>
<div className="container center">
<button>GENERATE</button>
<button>SAVE</button>
<button>MATCH</button>
</div>
</div>
)
}
}
Vous toujours face à des problèmes avec une suggestion de rendu? –
Non pas avec le rendu. Le principal problème est de définir un onClick dans le bouton générer pour connecter la fonction d'extraction. –
Vous souhaitez actualiser le composant ItemListener à chaque fois en cliquant sur le bouton Générer. Correct? –