Jurij
Они будут иметь уникальыне имена. Если это действитеьно CSS модуль
Oleg
CSS модуль. А они не будут дублироваться? Я же их буду импортировать в несколько компонентов
Ты имеешь в виду, что на странице у тебя два элемента с одинаковым классом? Чтоб это не было проблемой - используй модули (они встроенны в CRA) или вышеупомянутый CSS in js.
Alexander
Они будут иметь уникальыне имена. Если это действитеьно CSS модуль
Я про это. Это же лишний код css код получается
Роман
Кто работает с material ui, у вас textfield c outlined корректно работает, когда находится в табе?
Jurij
Я про это. Это же лишний код css код получается
Затрудняюсь сказать тогда. Вот во Vue с этим попроще. Хочешь глобально, хочешь локально.
Dmitry
Не подскажете, создавать в теле функции родительского компонента функции дочерних компонентов с помощью useCallback для обращения к контексту родителя это ок?
Alexander
А, это и так модуль. Тогда всё ок.
ну я тогдк получу дублирующийся css
Jurij
Может их там не много и объектным способом подойдет? Через style={}
Роман
В каком табе? В фокусе?
Когда находится в компоненте Tab. У меня ни на CRA, ни в проекте настроенном вручную - label поверх рамки и не скрывает ее, когда инпут приобретает фокус
Oleg
ну я тогдк получу дублирующийся css
Не может такого быть. Покажи как импортируешь CSS. И как используешь.
Jurij
Он имеет ввиду, что если импортирует модуль в двух компонентах то у него в обоих компонентах классы будут иметь уникальные имена и итоговая css-таблица разрастется
Alexander
Не может такого быть. Покажи как импортируешь CSS. И как используешь.
допустим мне Dropdown нужен в 5 компонентах, если я импортирую CSS, создатся 5 уникальных классов с дублирующимся css кодом
Al
Народ, пытаюсь игру сделать из документации по React,handleClick(i) { const squares = this.state.squares.slice(); squares[i] = this.state.xIsNext ? 'X' : 'O'; this.setState({ squares: squares, xIsNext: !this.state.xIsNext, }); }
Al
выдаёт ошибку:Error: Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate. React limits the number of nested updates to prevent infinite loops. в чём косяк? как исправить?
Роман
А дебагером какой стейт у Таба? Посмотри сорцы, мб яснее станет. И кра не кра не должно влиять
Сам таб полностью нативный, без передачи дополнительных пропсов. Скопировать полную перечень используемых пропсов не могу, увы, не за компом сейчас. Textfield в value имеет пустую строку. Странная штука.
Jurij
Т.е. бесконечный самовызов. По этому коду не очень очевидно.
Al
Обычно такая ошибка бывает если ты вызываешь setState в чем-то, что вызывается при изменении state
дык я всё делаю по написанному))) это такая подъё.. прикол такой в доке?
Jurij
Дай ссылку
Al
Дай ссылку
https://ru.reactjs.org/tutorial/tutorial.html
Тимофей 🛴
https://ru.reactjs.org/tutorial/tutorial.html
Лучше код на codesandbox или gist
Jurij
Код нормальный там. Видимо ты его не только в обработчик клика засунул. Надо твой код смотреть.
Тимофей 🛴
да
Ну, вот и ошибка
Al
оке, сейчас перепроверю
Jurij
Да ты просто "Сохранить как" нажми и кидай сюда файл.
Airat
да
в рендере меняешь стейт, а он вызвает рендер снова. И говорит что превышено максимальное количество вызовов, тк у тебя в бесконечный цикл впал компонент
Airat
да именно
угу, написал чтобы яснее картина была
Jurij
handleClick - это "обработчик клика". Его надо не в рендере вызывать, а повесить на onClick чего-то там
Jurij
http://i.imgur.com/GdIDkWb.png
Роман
https://material-ui.com/components/tabs/ мы про этот таб говорим?
Да, все верно. Всего на этом табе у меня две вкладке. На второй расположен textfield с variant=“outlined “. Когда тракт становится активным, label съезжает наверх, и должен находиться поверх рамки, зарывая ее белым фоном. У меня воспроизводится такой баг, что рамка перечёркиваете надпись, то есть не перекрывается (если посмотреть код html, то legends имеет width 0, в то время как ширина должна быть равна ширине уменьшегося label)
Airat
handleClick метод класса-компонента, и вызвается в рендере в функции. Как на скриншоте выше
Jurij
Да, но по той ссылке она вызывается конечное количество раз http://i.imgur.com/mFfL54f.png
Airat
codesandbox.io please
Jurij
https://stackblitz.com/edit/react-5z1dji
Jurij
Забыл Save нажать. Обновите
Jurij
Короче ты совершил типичную ошибк
Jurij
Вызвал функцию вместо того чтобы ее передать http://i.imgur.com/VlRccVC.png
Jurij
Ну и примеры у них там в документации. На работе и то проще.
Airat
Короче ты совершил типичную ошибк
+ <button className="square" onClick={() => props.onClick()}> {props.value} </button>
Ivan
+ <button className="square" onClick={() => props.onClick()}> {props.value} </button>
Или можно забиндить, чтобы лишнюю мнимую функцию не создавать
Сергей
Лучше бинд...стрелку создавать если замыканием надо из места вызова параметр передать..
Игорь
Кстати у кого-нибудь был опыт работы с css grid и рендерингом тысяч элементов на сетке? С какого момента начиается просадка по производительности и может кто знает статейки по анализу производительности всего этого дела, буду признателен
Игорь
Задача сделать отображение, вроде сводной таблицы в духе excel. Без пагинирования, с прокруткой по осям. Вывел сейчас тысячу(пока дев сервер). Рендерит пару секунд. В теории может и тысяч 5-7 ячеек в таблице быть
Игорь
То есть желание от пользователя получить сразу всю таблицу на экран и анализировать ее. Лейзи-лоад не подойдёт(
Саша
Ему нужны хорошие фильтры для таблицы, а ещё лучше возможность их писать
Игорь
Sm•ok
Это что?
Не рендерить то, что не видит юзер
Саша
Кстати, virtual table может помочь
Саша
Но там скорее время на подготовку данных тратится много
Alexander
Добрый вечер, подскажите пожалуйста, как можно передать компоненту A компонент B и в компоненте A при рендере компонента B передать свойства
Jurij
>Добрый вечер, подскажите пожалуйста, как можно передать компоненту A компонент B Компонент - просто JS переменная. Просто выглядит как html тег в JSX но ты не ведись.
Jurij
Поэтому или через props. Или как дочерний this.props.children
Jurij
А вторую часть вопроса я не понял
Jurij
Как осознаешь что долбанный JSX просто маскируется - сразу проще будет. И передавать и т.д.
Alexander
В компонент А я также передаю массив параметров по которым я пробегусь и в зависимости от их количества сгенерю необходимое количество компонентов B но в нутри компонента A при генерации компонентов B я в эти сгенерированные компоненты должен передать props которые я извлеку из source переданных компоненту A
Jurij
Нет, по-моему у него проще все.
Jurij
Просто не совсем ясно в чем проблема. Ну передал ты в ElementsCouruselVertical данные. А внутри передавай точно так же данные в Chart. Через props
Jurij
В общем я сейчас пример набросаю.
Вадим
Кто может подсказать вывожу данные с БД и к каждому результату добавляю поле в котором можно изменять значение поля, все работает чудесно но при вводе в одно полле показывает текст во всех как это исправить ?