2017-01-20 1 views
0

Так что я setRouteleaveHook с функцией:как использовать перевождь с routerWillLeave

routerWillLeave(nextLocation) { 
    // return false to prevent a transition w/o prompting the user, 
    // or return a string to allow the user to decide: 
    console.log("prompt: ", this.props.prompt); 
    if (this.props.prompt) { 
     return "Are you sure you wish to navigate? Unsaved data will be lost. Try to use the 'next' button instead if moving to the next part."; 
    } else { 
     return true; 
    } 
} 

this.props.prompt является переменной в магазине. Похоже, что когда я обновляю его в своем родителе, prompt не будет изменен до следующего посещения.

Есть ли лучший способ вызвать эти подсказки? (Учитывая, что он является материнским компонентом, который делает router.push)

ответ

0

импорт {withRouter} из 'response-router';

экспорта по умолчанию withRouter (подключение (YourSelectors, YourActions) (YourPage))

+0

this.props.router.setRouterLeaveHook (this.props.route, this.routerWillLeave) –

+0

Моя проблема не получает связывание установить , У меня это уже есть. Я просто не могу правильно настроить подсказки для своих детей. Тем не менее, прием хранится правильно. –

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