-1
votes

TypeError: item.map n'est pas une fonction

J'utilise React et Redux et j'essaye un exemple simple. Si j'ai cliqué sur le bouton, le nombre devrait augmenter de 1. Mais lorsque je clique ici actuellement sur le bouton, vous verrez l'erreur suivante, typeError: item.map n'est pas une fonction . Y a-t-il un problème avec mon code? xxx

itemAction.js xxx

réducteur.js xxx


2 commentaires

Carte itérats sur tableau, pas de chiffres


state.item.count ++ mutate l'état interdit.


4 Réponses :


0
votes

Vous avez besoin d'un cas par défaut pour le réducteur. xxx


0 commentaires

1
votes
case PLUS_ITEMS:
 return {
   item: state.item.count++
 }
}
There is no state.item.count in your state. state.item is an array. Fix this and see if that takes care of that error.

1 commentaires

donc j'ai essayé {item.map (({compteur}) => (

+
{compte} ))} n'est pas la carte d'objet ?? ...



0
votes

state.item [0] .Count ++ devrait fonctionner, s'il n'y a qu'un seul objet dans votre réseau d'articles.


1 commentaires

Comme Anthony K dit ci-dessous, State.item est un tableau, dont le premier élément est comptent



0
votes

réducteur.js

Établissez l'élément en tant qu'objet au lieu d'un tableau et de la propagation de l'état. P>

const initialState = {
  item:{
      count:0
    },
}

export default function (state = initialState, action) {
  switch(action.type){
    case GET_ITEMS:
      return {
        ...state
      }
      default:
        return state;
   case PLUS_ITEMS:
     return {
       ...state,
       item: state.item.count++
     }
   }
 }


0 commentaires