Créer un composant d'ordre supérieur pour pouvoir effectuer un chargeur. Je m'explique moi-même, j'ai un composant qui accomplit une API JSON, mais je le souhaite pendant que je charge et que les cartes n'apparaissent pas, c'est un message qui dit que le chargement ...
J'ai déjà cette validation dans Le composant de la carte, mais je veux que ce soit dynamique et de pouvoir répéter cette logique dans les cartes d'utilisateur aussi p>
Code de composant ci-joint et sa validation forte> P> TypeError: Cannot read property 'length' of undefined
whithLoader.render
src/Components/HOC/whitLoeader.js:10
7 | }
8 | render() {
9 |
> 10 | return this.props.courses.length === 0 ? <h1>Loading...</h1> : <WrappedComponent {...this.props} />
11 | }
12 | }
13 | }
3 Réponses :
Au lieu de créer un hoc, utilisez le chargeur comme enfant du composant, puis lors du chargement, rendant le composant de chargement, et lorsque c'est fait, rendez le code normal. Beaucoup plus facile à mettre en œuvre et pas besoin d'un hoc p>
Vous pouvez le faire et composant reçoit une séance de réglage comme
Votre solution est incomplète.
Ce n'est pas le but de HOC, il suffit d'ajouter un drapeau "chargement" ou "récupération" à l'état
Ce n'est pas ce que vous utiliseriez des composants d'ordre supérieur code> pour. Quel que soit le piratage que vous mettez en place pour que ce travail ne vaut pas la peine. Pourquoi ne pas simplement placer le composant code> loader code> à l'intérieur du composant qui rend votre
jsx code> avec cours -axios_cards code> ?. Vous essayez de créer une mauvaise abstraction ici et je resterais loin de cela.