Oleg
что скажете?
бля... у тебя объект castState
Oleg
В onClick нужно функцию передавать, а не выражение
это и есть функция. которая сразу выполняется, лол...
Zaff
но так тоже нельзя. нужно как-то деструктуризовать?
Maksym
но так тоже нельзя. нужно как-то деструктуризовать?
я так понял у тя ноль понимания что ты делаешь? isOpen: !cartState.isOpen
Zaff
ты чё, дурак?
следи за выражениями
Nikolai
это и есть функция. которая сразу выполняется, лол...
Там ошибка, setState надо в функцию завернуть, иначе будет бесконечнный ререндер
Oleg
следи за выражениями
вот именно, следи за своими выражениями. onClick={() => setCartState({isOpen: !cartState.isOpen})}
Anya
Подскажите. Если я из контекста получаю state в компонент, использую его в useEffect, но при этом мне не нужно чтобы перерендовался дочерний компонент (он перерендуется все равно, даже если я не использую нигде этот state, кроме useEffect). Какие варианты есть,кроме как использовать useMemo в в этом компоненте?
nnbphkqujhjkynr
Подскажите как при валидации поля через реджекс сделать ограничение на 1 точку ^([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5})$
Oleg
это я сам решу
элементарный пример ты почему-то не решил.
Anya
Есть вариант забить на это, пока этот ререндер не мешает
Ну сейчас мешает. и приходится делать useMemo. Непонятно, почему происходит перерендер. Такая ситуация происходит и с useSelector в редаксе и если через контекст получать данные. Мы получаем, что-то делаем с ними левое, а перерендер дочернего все равно происходит. Странно
nnbphkqujhjkynr
я вмижу, вот и спросил как запретить ввод на больше чем 1
nnbphkqujhjkynr
и тогда - это будет валидное мыло ss@asdas
Nikolai
Мемо не поможет если внутри хук тригерит
Там проблема с контекстом, который в дочернем не используется я так понял
Eugene
🤔почему люди не юзают для валидации средства html? input type="email"
nnbphkqujhjkynr
ибо оно говорит что это ss@asdas валидная почта
nnbphkqujhjkynr
я его юзаю, но нужно сказать реджексом, что теперь нужно еще видеть точку и что то после точки
Anya
Там проблема с контекстом, который в дочернем не используется я так понял
да. так и есть. но это странно,что это так работает. и поможет только memo...
Андрей
🤔почему люди не юзают для валидации средства html? input type="email"
Тяжело этому придать читаемый вид. А если тебе нужно ввести email или телефон... То начинаются танцы с бубном.
Dmitry
хуку депсы указать?
И что? Мемо над компонентом. Хук внутри
new
привет, может кто сказать как ограничить переход на роут, кроме как после сабмита формы?
David
Либо через history.block()
new
ограничить <Route exact path="/test" component={test} /> он у меня в app.js клиента и что б на страницу нельзя было перейти никак, но после сабмита формы на нее переходило
Daniil
Можно в пермишн определенный обернуть
new
🙄
Nikolai
Что в вашем понимании ограничить? Редирект на другой роут или заглушка регдерится должна?
new
что б при попытке вручную перейти на роут localhost:3000/test выдавало, что такого нету, но если человек проскролит вниз, там заполнит форму и отправит ее, то перекинуть его туда localhost:3000/test
Serhii
help
убери Authorization из headers в запросе
Eugene
https://reactjs.org/docs/hooks-reference.html#uselayouteffect в каких случаях профитно и нужно юзать этот хук? 🤔
Nikolai
https://reactjs.org/docs/hooks-reference.html#uselayouteffect в каких случаях профитно и нужно юзать этот хук? 🤔
Когда в эффекте надо что то с дома получить, например дата атрибуты Или размеры элементов..
new
храни глобал флаг, если он фолсе - выдавай 404, труе - страницу.
constructor(props) { super(props); this.state = { access: false }; } render() { const { access } = this.state; if (this.state.access == false && Route.path == '/test') { return <Redirect to='*'/>; } как то так?
Igor
this.state.access == false - этот кусок кода просто убивает
Alexey
там там ещё access отдельно вынесен и не используется
Igor
дело конечно не мое, но если фотки не фейк то с такой внешкой нефиг лезть в разработку, тут делать нечего)
Nikolai
а useEffect разве не срабатывает при маунте?
Обычный эффект после прорисовки выполнится, а лейаут до, но могу ошибаться
Zaff
ребята, есть способ стилизовать хедер в зависимости от страницы? например на домашней странице у него белый фон, на других темный. Если <Header /> внутри роутера, я могу достать location? Или он должен быть внутри самого компонента, на который пересылает Route?
Igor
Обычный эффект после прорисовки выполнится, а лейаут до, но могу ошибаться
а, я понял о чем ты, про элементы ты имел ввиду через селекторы а не рефы
Иван
Ребят всем привет. У меня вот такой вопрос. Используется material ui. И я хочу седлать себе кастомный класс который можно использовать через весь проект. Как любой бутстраповский. Не подскажите что погуглить или примеры какие-то ?
Zaff
внутри роутера можно узнать
значит и хедер мне нужно будет рендерить внутри каждого компонента-страницы Роутер: react-router-dom
Сергей
Привет, ребята. Если я в компонент №1 прокидываю несколько пропсов(с примитивным значением) и children, то имеет ли смысл компонент №1 наследовать от PureComponent. Не потеряется ли смысл использования PureComponent при передаче children?
Alexey
значит и хедер мне нужно будет рендерить внутри каждого компонента-страницы Роутер: react-router-dom
ты ВНЕ роутера хедер хочешь? тогда window.location какой-нибудь каждый раз проверять но лучше в роутер
new
глобальный флаг. локальный флаг в компоненте тебе не поможет.
const access = false; class App extends Component { constructor(props) { super(props); this.state = { }; } render() { if (access == false && Route.path == '/thank-you') { return <Redirect to='*'/>; } ?
Prophet
который хок) роутера)
Igor
ощущение что ты вообще не понимаешь что ты делаешь, скорее всего так и есть
new
ощущение что ты вообще не понимаешь что ты делаешь, скорее всего так и есть
ну не писала я на реакте, как и ты когда то, че ты умничаешь, если не хочешь помочь то хоть не мешай
Igor
а я тебе и пытаюсь помочь, говоря что ты начала рано писать на реакте
Alexey
так хедер должен быть внутри роутера или роута?
без разницы и так и сяк можно узнать где находишься и в зависимости от этого что-то отрендерить раз уж у тебя хедер будет перерисовываться в зависимости от роута, выносить его из роутера не вижу смысла