2017-11-13 3 views
0

Frage funktionieren:MobX Aktion Transfer als Callback

wenn ich Speicher haben (Pseudocode)

export default class MainStore { 
    @observable someObservable = []; 

    someFuncWithApi(actionFuncFromComponent) { 
    apiCall.then(res => actionFuncFromComponent(res.loadPercentage)).then(() => ....) 
    } 
} 

const mainStore = new MainStore; 

.... 

@inject('mainStore') 
@observer 
export default class SomeComponent extends Component { 
    @observable percentage = null; 

    @action 
    setPercentage(percentage) { 
    this.percentage = percentage 
    } 

    someHandle() { 
    this.props.mainStore.someFuncWithApi(this.setPercentage) 
    } 
} 

Dieser Bedarf an Lastprozentsatz zu ändern, someFuncWithApi genannt wird, aber nicht Prozentsatz oder rerender in der Komponente ändern. Bitte sag mir den richtigen Weg dafür.

Antwort

1

this.props.mainStore.someFuncWithApi(this.setPercentage)

ruft ein ungebundenes this.setPercentage. Entweder pass (x) => this.setPercentage(x) oder binden Sie die Funktion an this

+0

Dummer Fehler, danke für die Antwort, natürlich funktioniert das –