2017-01-11 5 views
0

Ich benutze react-redux-toastr, um Warnungen in meiner App zu generieren. Diese Warnungen werden dem Benutzer für eine gewisse Zeit angezeigt. Ich möchte diese Nachrichten starten, nachdem andere Aktionen erfolgreich ausgeführt wurden oder programmgesteuert fehlgeschlagen sind. Ich verwende die Readme gebündelt mit dem Paket.So starten Sie eine Reaktion-Redux-Toastr-Aktion Nachricht von einer anderen Aktion

Ich habe die ersten 4 Schritte wie in der Lies mich angegeben. Um die Meldung Aktion von einer anderen Aktion (custom) zu starten tat ich folgendes:

//in the '../actions/action.js' folder 
import { actions } from 'react-redux-toastr' 

export function showMessage(title, message, options){ 
    return dispatch => dispatch(actions.add({ 
    type: options.status, 
    title, 
    message, 
    options 
})) 
} 

export const toastrInfoOption = { 
    icon: 'info', 
    status: 'info' 
} 

//I am using the thunk middleware 
export function test(){ 
    return dispatch => dispatch(showMessage('Hello','World', toastrInfoOption)) 
} 

Wenn die Testaktion ausgelöst erwarte ich die Informationen Warnung vor „Hallo“ als Titel und „World“, wie die Nachricht zu sehen , aber das ist nicht der Fall. Ich weiß nicht, was ich falsch mache oder wie ich meine Erwartungen erfüllen kann.

Antwort

2

Es scheint, dass Ihre Aktion Schöpfer nicht richtig ist. Versuchen Sie dies:

export function test() { 
    return dispatch => showMessage('Hello','World', toastInfoOption) (dispatch) 
} 
+0

Wow, das hat funktioniert. Manchmal ist Javascript einfach gruselig! Ich habe etwas getan wie: 'dispatch => dispatch (showMessage ('Hallo', 'Welt', toastrInfoOption))' vorher und es hat geklappt. Bitte, was ist der Unterschied? – cdaiga

+1

showMessage gibt eine Funktion zurück, die einen Parameter benötigt, der "dispatch" ist; es ist keine Bedeutung Versand (shouwMessage (params)); Eine andere Möglichkeit besteht darin, showMessage zu modifizieren, die Dispatch-Funktion nicht zurückzugeben, sondern das Aktionsobjekt zurückzugeben, so dass Sie es außerhalb von –

+0

versenden können. Vielen Dank für die Erklärung. – cdaiga

Verwandte Themen