2017-01-11 7 views
0

Я использую response-redux-toastr для генерации предупреждений в своем приложении. Эти предупреждения должны отображаться пользователю в течение определенного периода времени. Я хочу запустить эти сообщения после того, как другие действия будут успешно выполнены или сбой программно. Я использую Readme в комплекте с пакетом.Как запустить сообщение action-redux-toastr из другого действия

Я сделал первые 4 шага, как указано в прочитанном мной. Чтобы запустить действие сообщения от другого действия (обычая) я сделал следующее:

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

Когда тест запускается действие я ожидал увидеть информационное предупреждение «Hello», как название и «Мир» в качестве сообщения , Но это не тот случай. Я не знаю, что я делаю неправильно, или каким-либо другим способом достичь своих ожиданий.

ответ

2

Кажется, что ваш создатель действия не прав. Попробуйте следующее:

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

Ничего себе, это сработало. Иногда javascript просто так жутко! Я сделал что-то вроде: 'dispatch => dispatch (showMessage ('Hello', 'World', toastrInfoOption))' before и это сработало. Какая разница? – cdaiga

+1

showMessage возвращает функцию, которая нуждается в параметре, который отправляет; это не смысл отправки (shouwMessage (params)); Другой способ - изменить showMessage, а не возвращать функцию отправки, но вернуть объект действия, чтобы вы могли отправить его за пределы –

+0

Большое спасибо за объяснение. – cdaiga

 Смежные вопросы

  • Нет связанных вопросов^_^