Size: a a a

React — русскоговорящее сообщество

2020 December 27

D

D M in React — русскоговорящее сообщество
Google OS
history каогда делаю refresh браузера тогда работает
Что не работает? )
источник

GO

Google OS in React — русскоговорящее сообщество
useHistory
источник

VK

Vladimir Klimov in React — русскоговорящее сообщество
Google OS
useHistory
Потому, что оно работает только внутри контекста роутера
источник

D

D M in React — русскоговорящее сообщество
Google OS
useHistory
Почитай документацию, которую я выше скинул. Там все понятно описано
источник

GO

Google OS in React — русскоговорящее сообщество
D M
Почитай документацию, которую я выше скинул. Там все понятно описано
тут тоже получается нельзя использовать useParams В App
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Где провайдер?
источник

VK

Vladimir Klimov in React — русскоговорящее сообщество
Google OS
тут тоже получается нельзя использовать useParams В App
Ничего не мешает сделать роутинг отдельным компонентом, обернутым в контекст,  и делать это там
источник

GO

Google OS in React — русскоговорящее сообщество
Vladimir Klimov
Ничего не мешает сделать роутинг отдельным компонентом, обернутым в контекст,  и делать это там
у меня в App js есть function
источник

YK

Yury Khmarin in React — русскоговорящее сообщество
Warning: Text content did not match. Server: "Sign in" Client: "Yury" как это побороть? :(
источник

YK

Yury Khmarin in React — русскоговорящее сообщество
{!isAuth() && (
           <>
             <NavbarText>
               <NavLink tag={Link} href="/signin"><a className='nav-link'>Sign in</a></NavLink>
             </NavbarText>
             <NavbarText>
               <NavLink tag={Link} href="/signup"><a className='nav-link'>Sign up</a></NavLink>
             </NavbarText>
           </>
         )}

         {isAuth() && isAuth().role === 0 && (
           <NavbarText>
             <NavLink tag={Link} href="/user"><a className='nav-link'>{${isAuth().name}}</a></NavLink>
           </NavbarText>
         )}
источник

YK

Yury Khmarin in React — русскоговорящее сообщество
export const isAuth = () => {
 if (process.browser) {
   const cookieChecked = getCookie('token')
   if (cookieChecked) {
     if (localStorage.getItem('user')) {
       return JSON.parse(localStorage.getItem('user'))
     } else {
       return false
     }
   }
 }
}
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Yury Khmarin
Warning: Text content did not match. Server: "Sign in" Client: "Yury" как это побороть? :(
Реализовать поддержку авторизации в изоморфном стиле - так что бы она работала и на сервере
источник

YK

Yury Khmarin in React — русскоговорящее сообщество
Dmitriy Shuleshov
Реализовать поддержку авторизации в изоморфном стиле - так что бы она работала и на сервере
это как)
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Yury Khmarin
это как)
Это класть токен не в LS а в httponly куку
источник

V

Vlad in React — русскоговорящее сообщество
Yury Khmarin
export const isAuth = () => {
 if (process.browser) {
   const cookieChecked = getCookie('token')
   if (cookieChecked) {
     if (localStorage.getItem('user')) {
       return JSON.parse(localStorage.getItem('user'))
     } else {
       return false
     }
   }
 }
}
не знаю как в нексте, но в наксте можно на сервере получить куки клиента и там же его авторизовать
источник

YK

Yury Khmarin in React — русскоговорящее сообщество
голова ходит )))
источник

YK

Yury Khmarin in React — русскоговорящее сообщество
надо бы поискать boilerplate для примера
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Vlad
не знаю как в нексте, но в наксте можно на сервере получить куки клиента и там же его авторизовать
о чудо но куки на сервере можно получить и без некста\нактса
источник

V

Vlad in React — русскоговорящее сообщество
Dmitriy Shuleshov
о чудо но куки на сервере можно получить и без некста\нактса
я в курсе, но в наксте это сделано удобно в сторе
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
источник