React Router с Meteor: как удалить параметр кода из URL после перенаправления из OAuth без перезагрузки - PullRequest
0 голосов
/ 29 июня 2018

я. используя React Router и React в приложении Meteor. Я использую OAuth, и после вызова OAuth на другой сайт этот сайт перенаправляется на мой URL с кодом. например http://localhost:3000/?code=lsK1o0FI8AV0WEVfxhEXiyjZL32we2&state=None

Затем я читаю код и использую его в своем приложении. После получения кода я хотел бы удалить код из URL, чтобы скрыть его от пользователя.

Как это сделать с помощью React Router или Javascript без перезагрузки?

1 Ответ

0 голосов
/ 29 июня 2018

Вам нужно привязать историю от маршрутизатора реакции Затем вам нужно извлечь параметр code из текущего пути. Если код существует, вы используете код и замените URL, который вам нужен (например, /). Это возможная реализация:

import {withRouter} from 'react-router-dom'

const App = ({
  history,
}) => {
  const code = new URLSearchParams(
    new URL(history.pathname).search
  ).get('code')
  if(code) {
    useCode(code)
    history.replace('/')
  }
  return (
    <div>...</div>
  )
}

export default withRouter(App)
...