2016-10-20 5 views
0

Ich habe allgemeinen Funktionseingang für den Umgang mit onChange: (. Für ex derjenigediejenigedasjenige für Sätze wie viele Zeilen pro Tabelle mag ich 30 oder 60 holen)Reagieren Redux async Aktionen Umgang

export function onChange(e) { 
    return (dispatch) => { 
     const payload = {}; 
     payload[e.target.id] = e.target.value; 
     dispatch({ 
      type: e.target.name, 
      payload 
     }) 
    } 
} 

nach einigen Eingaben Änderungen, die ich brauche Abholfunktion auslösen.

Aber wenn ich aufrufen fetch() -Funktion direkt nach OnChange - Abrufen beginnt vor OnChange Änderungen Requisiten, die Teil der Anfrage URL sind - Anfrage ist inconect.

Wie kann ich solche Aktionen async Griff holen STRT nach onChange die redux Zustand

EDIT ändert
die zweite Funktion, die ich nennen möchte, ist

export function searchContacts(e, props) { 

return (dispatch) => { 
    let propsReceived = props.allContacts; 

    let searchString = "?page="  + propsReceived.paginate + 
         "&orderBy=" + propsReceived.order + 
         "&sortedBy=" + propsReceived.sort  + 
         "&limit=" + propsReceived.limit; 
    if(e){ 
     let search = e.target.value; 
     searchString += "&search=first_name:" + search +";first_name:"+ search; 
    } 
    let url = ALL_CONTACTS + searchString; 
    return dispatch(getContacts(url)); 
} 

Und ich rufe diese zwei Funktionen wie diese:

<select className="input-select select-contacts-nav" 
     onChange={(e)=>{ 
       this.props.onChange(e); 
       this.props.searchContacts(null, this.props); 
     }} 
     value={this.props.allContacts.limit} 
     id="limit" 
     name="ALL_CONTACTS" 
> 
    <option value="30"> 30</option> 
    <option value="60"> 60</option> 
    <option value="100">100</option> 
</select> 

Aber this.props.searchContacts beginnt vor this.props.onChange

+0

Können Sie zeigen, wo genau Sie 'fetch' aufrufen möchten? – nem035

Antwort