簡體   English   中英

React Redux異步動作處理

[英]React Redux async actions handling

我具有處理輸入onChange的常規功能:

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

在一些輸入更改之后(例如,用於設置每個表要獲取30或60的行的更改),我需要觸發獲取功能。

但是當我在onChange之后立即調用fetch()函數時-提取是在onChange更改作為請求URL一部分的props之前開始的-請求是錯誤的。

在onChange更改redux狀態后,如何處理此類異步操作以進行strt提取

編輯
我要調用的第二個函數是

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));
}

我這樣調用這兩個函數:

<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>

但是this.props.searchContactsthis.props.onChange之前this.props.onChange

我的問題是在onChange事件中-它具有“待處理狀態轉換”。 更多信息在這里-React形式onChange-> setState落后了一步

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM