Je remplissais un tableau directement à partir d'une promesse, mais j'ai réalisé que je dois ajouter du code HTML au tableau afin que je tentais d'utiliser une boucle.
pullData().then((response) => {
//previously populated medication array from response like this
this.setState({medications: response});
//now I wish to loop how can I put data in , push data in?
for (let i = 0; i < response.length; i++) {
// push data into array?
this.medications.push <a onclick={`jsfunction(${response[i].value}) href=javascript:void(0);`}>{`${response[i].value}`}</a>;
}
});
3 Réponses :
Le problème que vous mentionnez semble peu clair. Selon ma compréhension, vous voulez aller chercher ces données et le montrer comme une liste.
Ici, essayez celui-ci p>
Je ne pense pas que je comprenne la poussée, j'ai des données JSON et en avez besoin pour être comme ceci 0: {valeur: "onglet Vicodin", short_description: "onglet Vicodin 5-300mg"} code>
Au lieu de cela, je reçois les données que ceci: 0: "onglet Vicodin" code>
Vous ne pouvez pas simplement mettre à jour l'état en appelant Vous pouvez mettre à jour l'état à l'intérieur de la boucle comme ceci: p> this.medications.push () code> let allMedications = [];
for (let i = 0; i < response.length; i++) {
allMedications.push(<a onclick={`jsfunction(${response[i].value}) href=javascript:void(0);`}>{`${response[i].value}`}</a>);
}
this.setState({
medications: allMedications
})
Besoin de mes données à aimer ce JSON 0: {Valeur: "onglet Vicodin", Short_Description: "onglet Vicodin 5-300mg"} Code> Mais, mais je me suis arrêté temporairement de l'Onclick et de remplacer par < code> réponse [i] .value code>, mais je reçois le mauvais jeu de résultats
Je finis avec "onglet Vicodin" code> - donc je suppose que je dois avoir JSON stringify? Je devrais construire la valeur et les champs courts_description?
@Jeremymiller Pouvez-vous ajouter votre code mis à jour en question avec ce que vous attendez et quel est le résultat actuel?
J'ai fini par faire ce
Quel est le problème avec votre code? Il semble que vous puissiez mettre à jour l'état après la boucle, pour que des changements visuels se produisent. Il est difficile de vous aider sans savoir ce que vous essayez de faire ou quel est le problème.
Cab, vous souhaitez décrire votre déclaration de problème un peu ce que vous voulez réaliser
Pouvez-vous s'il vous plaît fournir le journal de la console de
ceci.Médections code> après la STESTATESteState n'est pas une opération synchrone , alors attendez-vous à la valeur de
ceci.Médections code> à réfléchir juste aprèsthis.setstate () code> instruction n'est pas correcte. De plus, toute la logique de rendu doit être placée à l'intérieur de la fonction code> (ou d'autres méthodes de cycle de vie bases sur votre besoin), où il est toujours assuré que les valeurs mises à jour seront reçues. Ainsi, essayez d'utiliser la logique de la boucle dans l'une de ces fonctions.En outre, Mise à jour directe de l'état n'est pas une bonne idée a > (
this.medications.push ... code>), car il ne rentrera pas le composant et que votre interface utilisateur pourrait ne pas représenter réellement l'état mis à jour