2017-08-15 36 views
0

我有這個函數,saveUnsavedElements,它目前沒有使用它的回調函數。我只是想在調度結束時翻轉這個布爾值。我試圖在{() => this.setState({hasUnsavedChanges: false}) }包裝它,但沒有奏效。有什麼建議麼?謝謝!在函數中使用setState作爲回調

saveUnsavedElements() { 
    const { elements } = this.state; 
    const { dispatch } = this.props; 

    const updates = Object.keys(elements).map(key => { 
     const { id, top, left } = elements[key]; 
     return { id, top, left }; 
    }); 

    dispatch(requestUpdateElements(updates, { this.setState({hasUnsavedChanges: false}) }); 
    } 
+0

爲什麼不保持這種'hasUnsavedChanges'在您的商店,所以你可以更新,一旦你派遣 – Rowland

+0

因爲那樣的話我不得不重新構建了一堆我的應用程序:)去的保持目前的狀態,但會考慮建議 –

+0

你試過'()=> {this.setState({hasUnsavedChanges:false})}'? –

回答

0

原來,這是我需要做的。希望這可以幫助別人了

dispatch(requestUpdateElements(updates,() => this.setState({ hasUnsavedChanges: false })));

相關問題