У меня есть следующее в моем приложении для реагирования:
<PrivateRoute
path = "/profile"
component = { Profile }
authenticated = { this.state.authenticated }
/>
<PrivateRoute/> в основном просто ниже:
const PrivateRoute = ({ component : Component , authenticated : auth , ...rest }) => {
return (
<Route {...rest} render = { (props) => {
return (
auth ? <Component {...props} />
: <Redirect
to = {{
pathname : '/login',
state : {
from : props.location
}
}} />
)
} } />
)
}
Как вы можете видеть в приведенном выше коде, есть переменная auth, как мне отправить эту переменную сейчас, я хотел бы отправить эту переменную alog с <Redirect />, которая в основном загружает компонент <Login />, но как именно я могу отправить переменную auth alog с компонентом перенаправления?





Вы можете передать данные реквизита с помощью Redirect следующим образом:
const PrivateRoute = ({ component : Component , authenticated : auth , ...rest }) => {
return (
<Route {...rest} render = { (props) => {
return (
auth ? <Component {...props} />
: <Redirect
to = {{
pathname : '/login',
state : {
from : {auth : auth}
}
}} />
)
} } />
) }
и вот как вы можете получить к нему доступ:
this.props.location.state.auth
Думаю так и должно быть state: { from: props.location, auth: auth }
Используйте this.props.history.push и получите доступ к этой переменной через this.props.location
Как вы отправляете местоположение.