2016-07-01 2 views
4

Я хотел бы извлечь параметры URL внутри промежуточного программного обеспечения Redux, чтобы отправить действие и использовать эти значения в полезной нагрузке.Получить параметры url внутри промежуточного ПО Redux с помощью React-router

+0

ли у Вас радость с тем, что я предложил? –

+0

Спасибо за ваше предложение, но я ищу именно то, что я спросил. Если это невозможно, мне нужно будет найти другой путь. Я жду немного дольше, и если на 100% мы не сможем извлечь параметры из URL-адреса, я приму ваш ответ. – haxpanel

+0

Я не думаю, что извлечение «параметров URL внутри промежуточного ПО Redux» имеет смысл. Можете ли вы указать мне на документацию, где вы видели что-то подобное? –

ответ

2

Для того, чтобы достичь своей цели, вы можете использовать redux-router

Эта библиотека позволяет вам сохранить состояние маршрутизатора внутри Redux магазина. Таким образом, получение текущего пути, запроса и параметров так же просто, как выбор любой другой части вашего состояния приложения.

после этого вы можете получить ваши Params из промежуточного

export const someMiddleware = store => next => action=> { 
    /// get params 
    let params = store.getState().router.params; 

    ///then do what you want........... 
    next(action) 
}; 

MORE INFO

+0

Спасибо, я тоже закончил тем, что смотрел на редукционный маршрутизатор как на самый близкий ответ для этого , К счастью, точное решение моей проблемы (здесь: http://stackoverflow.com/questions/38145321/map-a-route-parameter-to-under-a-redux-stores-key) не требовало от меня изменения этот маршрутизатор. – haxpanel

1

Вам не нужно обращаться к params внутри промежуточного программного обеспечения. Общим шаблоном является только доступ к params через props в компоненте, откуда вы хотите отправить действие.

Что-то вроде этого:

this.props.dispatch(yourAction(this.props.params)); 

Обратите внимание, что вам нужно сделать dispatch доступными для компонента с помощью react-redux Connect method. Например:

export default connect()(YourComponent); 

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

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