история обновлений в реакции - PullRequest
1 голос
/ 10 июля 2020

Я обновил свой пакет истории до последней версии, и я получил эту ошибку:

TypeError: setting getter-only property "location"
./modules/configureHistory.js/<
src/modules/configureHistory.js:2

  1 | // @flow
> 2 | import { createBrowserHistory } from 'history'
  3 | import qs from 'qs'
  4 | 
  5 | const history = createBrowserHistory()

в этом коде: история. js

// @flow
import { createBrowserHistory } from 'history'
import qs from 'qs'

const history = createBrowserHistory()

history.location = {
  ...history.location,
  query: qs.parse(history.location.search.substr(1)),
  state: {},
}

/* istanbul ignore next */
history.listen(() => {
  history.location = {
    ...history.location,
    query: qs.parse(history.location.search.substr(1)),
    state: history.location.state || {},
  }
})

const { go, goBack, push, replace } = history

export { go, goBack, push, replace }
export default history

И я перенаправил своего пользователя вот так:

PrivateRoute.jsx

import React from 'react'
import PropTypes from 'prop-types'
import { Route, Redirect } from 'react-router-dom'

const RoutePrivate = ({ component: Component, isAuthenticated, to, ...rest }) => (
  <Route
    {...rest}
    render={props =>
      isAuthenticated ? (
        <Component {...props} />
      ) : (
        <Redirect
          to={{
            pathname: to,
            state: { redirect: props.location.pathname, isAuthenticated },
          }}
        />
      )
    }
  />
)

RoutePrivate.propTypes = {
  component: PropTypes.oneOfType([PropTypes.func, PropTypes.object]).isRequired,
  isAuthenticated: PropTypes.bool.isRequired,
  location: PropTypes.object,
  to: PropTypes.string,
}

RoutePrivate.defaultProps = {
  to: '/',
}

export default RoutePrivate

Итак, этот частный маршрут перенаправляет моего пользователя на / если он не вошел в систему.

Я не нахожу нового решение для перенаправления на частный маршрут с историей местоположения. Какое решение проблемы с новой версией пакета истории?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...