Size: a a a

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

2020 November 16

VK

Vladimir Klimov in React — русскоговорящее сообщество
Soltukiev Malik
Кстати, как реализовать правильно самозакрываюшиеся алерты?
Закрывать после таймаута
источник

IN

Igor N in React — русскоговорящее сообщество
Soltukiev Malik
Кстати, как реализовать правильно самозакрываюшиеся алерты?
почему алерты?
источник

K(

Kirill (Parfen0n) in React — русскоговорящее сообщество
Soltukiev Malik
У меня есть очень крутая тудушка, где есть страницы, у каждой есть свои заметки, заметки можно перекидывать по разным страницам, редактировать, отмечать выполненными и т.д.
Молодец, крассссссавчик
источник

SM

Soltukiev Malik in React — русскоговорящее сообщество
Vladimir Klimov
Закрывать после таймаута
А что будет, если закрывается через 3 секунды, а ты добавил 2 заметки с интервалом в 2 сек? Верно, закроется через 1 сек. Я, конечно, обошел этот момент, но выглядит не оч, хотя все работает.
источник

VK

Vladimir Klimov in React — русскоговорящее сообщество
Soltukiev Malik
А что будет, если закрывается через 3 секунды, а ты добавил 2 заметки с интервалом в 2 сек? Верно, закроется через 1 сек. Я, конечно, обошел этот момент, но выглядит не оч, хотя все работает.
Я ж не знаю детали, вы задали вопрос - я ответил, деталей же никаких)
источник

SM

Soltukiev Malik in React — русскоговорящее сообщество
Igor N
почему алерты?
ну я их так называю, там не алерты, а дивы
источник

SM

Soltukiev Malik in React — русскоговорящее сообщество
Vladimir Klimov
Я ж не знаю детали, вы задали вопрос - я ответил, деталей же никаких)
Ну смотри. Ты добавил 1 заметку, и выскакивает алерт, у которого есть таймаут 3 сек, но через 2 сек ты добавляешь еще 1 заметку, но тот первый таймаут еще идет, и через 1 сек закроется алерт. Но я это обошел, сделав сброс таймаута, когда добавляю новую заметку, и опять запускаю таймаут, но проблема в том, что пришлось делать переменную вне компонента.
источник

SM

Soltukiev Malik in React — русскоговорящее сообщество
Просто боюсь, что другие не поймут механизма, когда будут чекать код.
источник

A

Andrian in React — русскоговорящее сообщество
Soltukiev Malik
Просто боюсь, что другие не поймут механизма, когда будут чекать код.
useRef
источник

SM

Soltukiev Malik in React — русскоговорящее сообщество
Andrian
useRef
а ref.current можно приcваивать функцию?
источник

SM

Soltukiev Malik in React — русскоговорящее сообщество
таймаут
источник

A

Andrian in React — русскоговорящее сообщество
Soltukiev Malik
а ref.current можно приcваивать функцию?
Да
источник

SM

Soltukiev Malik in React — русскоговорящее сообщество
Ок, спс.
источник

O

OMG2SMART4YOU in React — русскоговорящее сообщество
Ребят вопрос по material ui. .можно ли создать собственный стилизованный вариант для Typography!?
источник

VK

Vladimir Klimov in React — русскоговорящее сообщество
Soltukiev Malik
Ну смотри. Ты добавил 1 заметку, и выскакивает алерт, у которого есть таймаут 3 сек, но через 2 сек ты добавляешь еще 1 заметку, но тот первый таймаут еще идет, и через 1 сек закроется алерт. Но я это обошел, сделав сброс таймаута, когда добавляю новую заметку, и опять запускаю таймаут, но проблема в том, что пришлось делать переменную вне компонента.
Можно стакать их один над другим🤷‍♂
Или очищать, сохраняя id таймаута в ref, все правильно сказали
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Шо тут происходит?
Костылим toast либу?
источник

SM

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

V

Vlad in React — русскоговорящее сообщество
Soltukiev Malik
Ну смотри. Ты добавил 1 заметку, и выскакивает алерт, у которого есть таймаут 3 сек, но через 2 сек ты добавляешь еще 1 заметку, но тот первый таймаут еще идет, и через 1 сек закроется алерт. Но я это обошел, сделав сброс таймаута, когда добавляю новую заметку, и опять запускаю таймаут, но проблема в том, что пришлось делать переменную вне компонента.
const timeout = useRef(null)

useEffect(() => {
 timeout.current = startTimeout()
}, [])


useEffect(() => {
 clearTimeout(timeout.current)
 timeout.current = startTimeout()
}, [notifications.length])

const startTimeout = () => {
 return setTimeout(() => setOpen(false), 3000)
}
источник

SM

Soltukiev Malik in React — русскоговорящее сообщество
Dmitriy Shuleshov
Шо тут происходит?
Костылим toast либу?
а для этого есть готовая либа?
источник

II

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