2017-02-15 5 views
0

У меня есть Link компонент от React маршрутизатора, который выглядит как:Связи Реагировать маршрутизатор, обновление состояния перевождь, прежде чем переадресовать

<Link 
    className={mainClass} 
    to={to} 
    target={target} 
> 
    Link 
</Link> 

мне нужно обновить Redux магазин (или запустить какой-либо метод перед перенаправлением), так как мне нужно для отправки значения со страницы ссылки на целевую страницу, и маршрут не может быть обновлен.

ответ

2

Может быть, вместо того, чтобы использовать React-маршрутизатор Link компонента попытаться направить действие обновляет свой магазин и, когда действие закончено перенаправление на данный URL-адрес вручную с помощью browserHistory

2

Вы можете обновить магазин Redux в onEnter крючке.

Возможно, вы захотите передать третий аргумент callback для блокировки переходов до его вызова.

+0

есть ответный вызов в компоненте Link? – Pablo

+0

Нет, крюк 'onEnter' имеет« обратный вызов »в качестве третьего аргумента. Пожалуйста, проверьте документацию [здесь] (https://github.com/ReactTraining/react-router/blob/master/docs/API.md#onenternextstate-replace-callback). Вы можете обернуть определения маршрута внутри функции с помощью аргумента 'store' и использовать это значение для обновления Redux. –

+0

но, у меня есть информация перед перенаправлением, они спрашивают, как вызвать отправку, если перенаправление выполняется раньше. – Pablo