Size: a a a

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

2021 January 27

AG

Adel Gilyazeev in React — русскоговорящее сообщество
Иван
мой косяк. не будет

будет работать иногда

// компонент монтируется
const admin = useContext(); // false
if (!admin) useRedirect('/admin','/user'); // произойдёт редирект, компонент сразу размонтируется, правила хуков не нарушены
я же написал в итоге, шо над его запихать в компонент редиректа, как в роутере стандартном сделано и рендерить его по условию
источник

И

Иван in React — русскоговорящее сообщество
Adel Gilyazeev
ну я так понимаю что все эти инстансы просто оболочки над браузерной историей, где местоположение хранится в стейте, либо в  части URI?
это разные реализации с одинаковым интерфейсом
только одна из них работает поверх браузерной истории

так-то тот же самый реакт-роутер работает в react native, в котором нет никакого window. MemoryRouter работает на серверах под SSR, где нет никакого window

есть INK — рендерилка из реакта в stdout (в консольку), там тоже будет работать реакт-роутер
источник

MK

Maxim Koylo in React — русскоговорящее сообщество
Adel Gilyazeev
чегож вы так
ну они бы могли сделать какой то
function Redirect({ from, to }) {
 useRedirect(from, to);
 return null;
}
источник

AG

Adel Gilyazeev in React — русскоговорящее сообщество
ну я думаю интерфейс window.history переписать под самобытный не такая уж проблема...
источник

И

Иван in React — русскоговорящее сообщество
Adel Gilyazeev
я же написал в итоге, шо над его запихать в компонент редиректа, как в роутере стандартном сделано и рендерить его по условию
да, это будет выглядеть вот так:

!admin && <Redirect path=“/guest“ />
источник

AG

Adel Gilyazeev in React — русскоговорящее сообщество
Иван
да, это будет выглядеть вот так:

!admin && <Redirect path=“/guest“ />
а тут считай добавляется условие редиректа, типа !admin && <MyRedirect from="/user/:id/edit" path=“/user/:id“ />
источник

AG

Adel Gilyazeev in React — русскоговорящее сообщество
хотя лан, такое себе
источник

С

Сергей in React — русскоговорящее сообщество
Ребят, подскажите как сделать редирект с множественных слешей?
site.ru/// -> site.ru
источник

И

Иван in React — русскоговорящее сообщество
Adel Gilyazeev
ну я думаю интерфейс window.history переписать под самобытный не такая уж проблема...
вот тут не понял
источник

AG

Adel Gilyazeev in React — русскоговорящее сообщество
Иван
вот тут не понял
ну в итоге либа же дёргает интерфейс window, заменить его везде там константой, которой будет присваеваться либо window если в браузере работаем, иначе самопальная дичь
источник

И

Иван in React — русскоговорящее сообщество
Adel Gilyazeev
ну в итоге либа же дёргает интерфейс window, заменить его везде там константой, которой будет присваеваться либо window если в браузере работаем, иначе самопальная дичь
это называется манкипатчинг
источник

И

Иван in React — русскоговорящее сообщество
Adel Gilyazeev
ну в итоге либа же дёргает интерфейс window, заменить его везде там константой, которой будет присваеваться либо window если в браузере работаем, иначе самопальная дичь
или ты про “изменить в библиотеке”?
источник

AG

Adel Gilyazeev in React — русскоговорящее сообщество
Иван
это называется манкипатчинг
хорошо, буду знать) Впервые такое слышу....
источник

AG

Adel Gilyazeev in React — русскоговорящее сообщество
Иван
или ты про “изменить в библиотеке”?
а есть разница? я про либу, то что внутри...
источник

AG

Adel Gilyazeev in React — русскоговорящее сообщество
ну не глобальный объект window изменять, а именно внутренности
источник

И

Иван in React — русскоговорящее сообщество
Adel Gilyazeev
а есть разница? я про либу, то что внутри...
если в библиотеке — да, было бы неплохо, pull request is welcome

а переопределять поведение глобальных объектов в рантайме — это манкипатчинг
источник

AG

Adel Gilyazeev in React — русскоговорящее сообщество
шоб библиотека сама меняла своё взаимодействие взависмости от окружения
источник

AG

Adel Gilyazeev in React — русскоговорящее сообщество
Иван
если в библиотеке — да, было бы неплохо, pull request is welcome

а переопределять поведение глобальных объектов в рантайме — это манкипатчинг
ааа, понял, принял)))
источник

И

Иван in React — русскоговорящее сообщество
ну и списочек

https://github.com/vadimdemedes/ink
источник

MK

Maxim Koylo in React — русскоговорящее сообщество
ухтышка, вот за это очень люблю реакт
источник