Sergey
пофиксил, проблема в другом била http://i.imgur.com/U1YQsbh.png
ага теперь данные никак не прокидываются обратно в форму)
Sergey
"пофиксил"
$$$$$$$
всем q, пришли мне с бэка значит данные ,суть в том что он мне присылает в ev_date интервал возможного времени записи и еще праочку интервалов , короче как вы считаете с такими данными норм будет работать ? при это ещем много каких нюансов надо будет учитывать , а вот эти строки вообще вымораживают
$$$$$$$
чем вымораживают?
ну регуляркой все данные можно взять и получить , но вот эти интервалы , хз как реализовывать даже , при том ладно бы один интервал , но их несколько . на выходе подобно надо поулчить будет
$$$$$$$
Нет. Требуй чтобы тебе прислали unixtime в gmt.
согласись что это жесть вообще *?
Андрей
согласись что это жесть вообще *?
Не жесть, но я бы наезжал бы на бекенд.
Ruslan
Привет, кто-то делал группировку таблицы по строке? Не могу придумать, как написать такой алгоритм. Вот пример результата, который хочу получить😔
Rrr
👍 это итак понятно:))
а в чем тогда проблема?
Ruslan
а в чем тогда проблема?
пока не получается придумать логику
TK
добрый день, хочу [if lt IE 8]> <script>window.oldIE = true;</script> [endif] в файле прописать чтоб в 8 explorer открывало сообщение типа "сайт не работает в данном браузере"Но спева надо проверить, т к лень ставить виртуальную машину с виндой на линуху,хочу прописать подобный скрипт для chrome 78.0.3904.108,Вопрос: как прописать подобный скрипт для хрома?
-
Народ, подскажите, пожалуйста. Есть ли норм способ показать сразу все ошибки для поля формы в formik? setError ([string]: string]) принимает только или уже лучше сразу использовать final-form?
Rrr
пока не получается придумать логику
items.reduce((acc, item) => { const key = item.name; acc[key] = acc[key] ? [...acc[key], item] : [item]; return acc; }, {}); примерно так, для массива сам додумаешь
Пöß d'Ivoire
проще всего попросить знакомых проверить)
Ruslan
items.reduce((acc, item) => { const key = item.name; acc[key] = acc[key] ? [...acc[key], item] : [item]; return acc; }, {}); примерно так, для массива сам додумаешь
нет, не оно, я такое делал, фишка вся в том, что это может быть multiple-grouping. Тоесть не только по name, но и по другим колонкам:) От этого и закипаю
Ruslan
как я понял проблема в реализации UI?
в написании алгоритма https://codesandbox.io/embed/confident-volhard-mhptf?fontsize=14&hidenavigation=1&theme=dark
azat
Привет, ребята. Скажите, вы когда useReducer юзаете, вы все action.type привязывается к константам? Если да, то потом как передаёте детям? Через пропсы? Или не париться и просто стринг-литералы везде использовать?
Sm•ok
еще никогда не приходилось его юзать. Наверное полезен для подхода, когда стейт внутри компонента
azat
azat
Вот такой пример. Представьте, что Example и Button в разных файлах и у Button доступа к константе ADD нету
Sm•ok
ну, тут как раз полезно делать в стейтменеджере. А во вьюхе ставить прослушку на стейт
Ilya
Вот такой пример. Представьте, что Example и Button в разных файлах и у Button доступа к константе ADD нету
Детям точно не нужно знать ничего про экшены тайпы и диспатчи. Детям нужно передать экшен криэторы.
Sm•ok
azat
ну, тут как раз полезно делать в стейтменеджере. А во вьюхе ставить прослушку на стейт
Я не хочу тащить весь редакс ради небольшого стейта. ЮзРедюсер же для того и делали
Sergey
ииии
azat
господи возьми стейт менеджер и не усложняй код на проекте
Тут вопрос в том, усложню ли я его больше, если добавлю стейт-менеджер или напишу больше кода с useReducer
Sm•ok
Я не хочу тащить весь редакс ради небольшого стейта. ЮзРедюсер же для того и делали
const Button = ({onClick, children}) => ( <button onClick={onClick}>{children}</button> ) // Где-то в Example <Button onClick={....}>Кнопка</Button>
Sergey
Тут вопрос в том, усложню ли я его больше, если добавлю стейт-менеджер или напишу больше кода с useReducer
пробрасывание экшенов в дочерние компоненты это уже работа менеджера состояний
Sm•ok
пробрасывание экшенов в дочерние компоненты это уже работа менеджера состояний
Но в его случае это кнопка ) Ему думаю подойдет просто пропсы
Sergey
Но в его случае это кнопка ) Ему думаю подойдет просто пропсы
классно утверждать, когда нет настоящего примера
Ilya
Это без редакса реализуется?
да. Если уж описывашь логику через useReducer то там же и опиши все экшен криеторы. <Button onClick={add} > где метод add обхявлен там же где и useReducer
Sm•ok
классно утверждать, когда нет настоящего примера
Ну, он попросил прокинуть в кнопку метод из example
Сергей
Ребят, всем привет. Вопрос следующий, совсем недавно решил я изучать реакт, так как того потребовали мои рабочие обязанности. Стоит следующая задача. Имеется таблица, это первый компонет. (Готовый грид MUIDataTable). Имеется второй компонент, DataRangePicker, в котором необходимо выбрать отрезок времени не больше месяца, и компонент редактируемой ячейки. В чем суть, изначально рендериться компонент таблицы и датапикера. У таблице есть const [columns, setColumns] = useState(набор колонок); так же есть подобный state для данных и state, в котором храняться изменненные данные: const [change, setChange] = useState({}). В дочерний DataRangePicker передаются columns и change. В зависимости от выбранного промежутка дат, к имеющимся колонкам плюсуются созданные, в которых необходимо проставлять некоторое значение. Иными словами, в дочернем компоненте вызывается setColumns с обновленными колонками, а change прокидывается еще ниже по дереву в еще один дочерний элемент - EditCell. В EditCell имеется метод onChange, который сохраняет текущее значение в ячейки, и метод onBlur, который при потере фокуса изменяет переданный из родительского компонента change по средствам вызова setChange. В родительском он меняется, но вот не меняется в последующих дочерних. При первом рендере, как я понял, реакт сохраняет начальное состояние change = {} в каждом EditCell и даже если я меняю change в одном из EditCell, то в остальных он остается как при инициализации, а необходимо, чтобы он был изменен во всех EditCell. На выходе я должен получить объект, который содержит в себе все значения, которые я вписывал в EditCell. Если я дурак или что-то не правильно объяснил, прошу меня исправить и не ругаться
Sergey
Sm•ok
он думал прям в button вызвать методы родителя, вызвав их по имени. Наверное, только начал и не слышал про пропсы
azat
он думал прям в button вызвать методы родителя, вызвав их по имени. Наверное, только начал и не слышал про пропсы
Да знаю про пропсы, лол. Просто если детей много, это все придётся по всем детям раскидывать. А там уже и useContext придётся юзать.
azat
А почему вам useReducer не нравится?
Nikolay
Ребят, всем привет. Вопрос следующий, совсем недавно решил я изучать реакт, так как того потребовали мои рабочие обязанности. Стоит следующая задача. Имеется таблица, это первый компонет. (Готовый грид MUIDataTable). Имеется второй компонент, DataRangePicker, в котором необходимо выбрать отрезок времени не больше месяца, и компонент редактируемой ячейки. В чем суть, изначально рендериться компонент таблицы и датапикера. У таблице есть const [columns, setColumns] = useState(набор колонок); так же есть подобный state для данных и state, в котором храняться изменненные данные: const [change, setChange] = useState({}). В дочерний DataRangePicker передаются columns и change. В зависимости от выбранного промежутка дат, к имеющимся колонкам плюсуются созданные, в которых необходимо проставлять некоторое значение. Иными словами, в дочернем компоненте вызывается setColumns с обновленными колонками, а change прокидывается еще ниже по дереву в еще один дочерний элемент - EditCell. В EditCell имеется метод onChange, который сохраняет текущее значение в ячейки, и метод onBlur, который при потере фокуса изменяет переданный из родительского компонента change по средствам вызова setChange. В родительском он меняется, но вот не меняется в последующих дочерних. При первом рендере, как я понял, реакт сохраняет начальное состояние change = {} в каждом EditCell и даже если я меняю change в одном из EditCell, то в остальных он остается как при инициализации, а необходимо, чтобы он был изменен во всех EditCell. На выходе я должен получить объект, который содержит в себе все значения, которые я вписывал в EditCell. Если я дурак или что-то не правильно объяснил, прошу меня исправить и не ругаться
То есть у нас есть такая иерархия компонентов Таблица (Ячейка, Датапикер), всё управление сотсоянием ведётся в таблице? "В родительском он меняется, но вот не меняется в последующих дочерних" - а там есть подпись на смену состояния в useEffect? И можно вообще лучше выложить иммитацию проекта в онлайн редакторе или, если проект тестовый, на репозиторий в гитхаб/гитлаб?
Sergey
Да знаю про пропсы, лол. Просто если детей много, это все придётся по всем детям раскидывать. А там уже и useContext придётся юзать.
а вот и причина использовать стейт-менеджер useReducer + useContext это простейший стейт-менеджер с кучей проблем
Nikolay
На гите есть, но там такое... уууу, страшно показывать и позориться ) состояние родительского компонента меняется путем вызова setChange в дочернем, я его как пропс в дочерний передаю, это правильно или желательно так не делать?
Ну если Вы передаёте функцию в дочерний компонент, то это хорошая модель построения компонентов) ссылку можно кинуть в ЛС, а тут уже ответим в чём была проблема)
Artem
всем ку. есть чат по GraphQl Apollo ?
Artem
в описании
спасибо, сир
Артем
эммм, народ, не в курсе кто, сломался create-react-app что ли? хотел нулевку поставить и прогнать пару тестов, а он мне ставит тупо базу зависимостей без структуры и вообще чего-либо
Alex
страница поиска репозиториев на github (у github для этого есть открытый API). Подскажите пожалуйста точный адресс
Anonymous
Hola. Кто использовал html элементы в Chart.js для лейблов, легенд, другого?
Артем
сталкивался с таким кто-нибудь?
🦜
а не файлом можно7
Artem
подскажите почему такая ошибка валидации? http://i.imgur.com/mQtooAv.png
Артем
ну так вставился скрин
Artem
http://i.imgur.com/yAEUu9F.png
Артем
Dmitriy
@sovasergey будешь атомик фолдер стракчер под кра пилить?)
🦜
https://create-react-app.dev/docs/custom-templates
Sergey
шаблон сделать просто?
🦜
Dmitriy
шаблон сделать просто?
Ну вот вверху ссылку попуг кинул. Я так понял тима готова принимать от комьюнити