2017-04-11 4 views
0

Quelle est la bonne façon de faire une demande asynchrone pour les options de liste déroulante?
Avoir une grande quantité d'options déroulantes, disent les villes à titre d'exemple. Voulons-nous les stocker dans l'état?React Redux demande pour les options de formulaire

Normalement, nous créerions une demande d'action Redux pour les "villes" et mettrions à jour l'état avec les options "villes" via le magasin Redux. MapDispatchToProps et appelez l'action Redux à partir de componentDidMount.

componentDidMount =() => { 
    this.props.fetchCitiesOptions() 
} 

MapStateToProps incluraient options: cities qui pourrait être 1000 villes ou plus et que dans une utilisation sur 1 forme. Voulons-nous porter cela dans un état global? Si non, quelle est la meilleure façon? Apprentissage. Merci.

+0

Je voudrais utiliser quelque chose comme https://www.npmjs.com/package/react-async-autocomplete pour y parvenir – Panther

Répondre

0

Vous pouvez choisir d'avoir un état local pour cet élément de formulaire. Si vous souhaitez un composant contrôlé, mais que vous ne souhaitez pas que les options soient dans l'état global, créez un composant wrapper pour votre formulaire afin qu'il conserve l'état local et ne mette à jour que l'état local de votre componentDidMount. Vous pouvez mélanger/assortir l'état local et global en fonction de l'endroit où cet état est requis dans votre projet. Cet état local peut également suivre les modifications de formulaire et les soumettre si vous n'avez pas besoin des données de soumission de formulaire dans le reste de l'état de votre projet.

+0

Est-ce une bonne pratique de conception d'avoir des appels asynchrones en dehors des actions Redux lors de l'utilisation React w/Redux? – csi