@fertyga098
FullStack js developer

Не работает Route при history?

Всем привет, столкнулся с 1 проблемой, компонент login при клилке делает post запрос, после чего я делаю redirect на стр с url /, ( при этом я показываю и скрываю loader ), после чего у меня не работает route, т е url меняется по компоненты почему - то не рендерется

код компонента login
const App__singIn = props => {
    const [ name, setName ] = useState( '' )
    const [ pass, setPass ] = useState( '' )
    const [ error, setError ] = useState( false )
    const [ checked, setChecked ] = useState( false )

    const click = () => {
        props.etLoader( true )

        const url = process.env.REACT_APP_API_AUTH
        const data = {
            email: name,
            password: pass,
        }

        axios.post( url, data ).then( data =>
            data.status >= 199 && data.status <= 301 ?
                (
                    props.setLoader( false ),

                    checked ? (
                            setCookie( 'token', data.data.token, { expires: 365 }  ),
                            setCookie( 'id', data.data.id, { expires: 365 } ),
                            setCookie( 'username', data.data.username, { expires: 365 } )
                        ) : (
                            setCookie( 'token', data.data.token ),
                            setCookie( 'id', data.data.id ),
                            setCookie( 'username', data.data.username )
                    ),

                    props.setUser( true ),

                    props.browserHistory.push( '/' )
                ) : (
                    props.setLoader( false ), setError( true )
                )
        )

    }

    if ( props.loader === true ) {
        return <p> Loader </p>
    } else {
        return (
            <div >
                <div className={ s.fields }>
                    <App__input type='text' value={ name } set={ setName } text='Почта'/>

                    <App__input type='password' value={ pass } set={ setPass } text='Пароль'/>
                </div>

                <div className={ s.checked } >
                    <App__checkbox checked={ checked } setChecked={ setChecked } text='Запомнить меня' />
                </div>

                <App__btn click={ click } disable={ !name || !pass ? true : false } text='Войти'/>

                <div className={ s.changePass } >
                    Забыл пароль
                </div>
            </div>
        )
    }

}

export default App__singIn


если не делать манипуляций с dom то все работает хорошо, но манипуляция с dom мне нужна чтобы показать user icon
  • Вопрос задан
  • 23 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы