-1
votes

Réagir une grille de crochet première valeur vide

J'essaie de sauvegarder un tableau que je vais chercher à partir d'une API et de l'enregistrer à usestate (['']) code>, ce faisant ma première entrée à l'intérieur de mon tableau est vide.

ressemble à ça: (3) Â ["", "5A5D29230778C1CD47E02DD", "5A5D2F430778C1CD47E02DE"] CODE> P>

Les données réelles que je reçois de mon Axios l'appelent ce (2) Â [ "5A5D29230778C1CD47E02DD", "5A5D2F430778C1CD47E02DE"] CODE> P>

Voici comment je l'appelle et définissez-le: p>

> Argument of type '(favorites: never[]) => any[]' is not assignable to
> parameter of type 'SetStateAction<never[]>'.   Type '(favorites:
> never[]) => any[]' is not assignable to type '(prevState: never[]) =>
> never[]'.
>     Type 'any[]' is not assignable to type 'never[]'.
>       Type 'any' is not assignable to type 'never'.ts(2345)


2 commentaires

... favoris . Votre Ajout au tableau existant que vous avez '' déjà. Une raison pour laquelle vous init le tableau avec '' ?


@Keith il ne fonctionne pas dans Thypothingscript s'il est vide


4 Réponses :


0
votes

Le premier élément est en réalité votre état par défaut ici: usestate (['']) . Vous l'initialisez avec une chaîne vide en tant que valeur et vous l'avez diffusée dans le nouvel état de votre [... Favoris, ... Data.Favorites] CodeBlock.

Changer votre déclaration d'état init à USESTEZE ([])


0 commentaires

0
votes

Voulez-vous garder cette valeur de chaîne vide ou non?

Si vous ne le faites pas, vous n'avez pas besoin d'inclure ce qui était dans l'état avant lorsque vous ajoutez les données que vous obtenez avec Axios: P >

setFavorites(() => [...data.favorites])


0 commentaires

2
votes

Définissez son type comme celui-ci:

  const [favorites, setFavorites] = useState<string[]>([]);


  setFavorites(() => [...data.favorites])


1 commentaires

Je pense qu'à utiliser SetFavorites ([... Data.Favourites]), puisque il utilise des crochets @utDev



1
votes

Vous devez définir le type d'usestate pour être string [] xxx

Sample Demo


1 commentaires

ohh ouais, je me suis concentré sur l'erreur et j'ai complètement manqué l'état initial