Daniil
ага, я просто сократил запись)
Oleg
то есть тебе надо распарсить текстовый файл по отступам в ноды?
Daniil
нет это я сейчас уже делаю, мне как раз нужно избавится от этого формата чтобы хранить это дерево в базе но
0000001 | {c, id:01_01_01, parent 01_01}
0000002 | {a, id:01, parent null}
0000003 | {b, id:01_01, parent 01}
я специально поменял строчки местами (потому что такое может быть при модификации дерева)
Oleg
я бы добавил все же поле children, это значительно ускорило бы процесс построения
Daniil
и в итоге я теряю O(n) потому что как минимум может быть сортировка что в текстовом формате не требовалось, но дальше еще может быть добавлена рекурсия (чего бы не хотелось)
Oleg
почему рекурсия это то чего бы не хотелось?)
Oleg
ну в данном случае вилка: либо сортировка, либо доп поле чилдрен
Oleg
про верхний уровень не понел
Daniil
ну т.е. когда проводник открываешь по умолчанию видны только корневые папки а далее по мере открытия (как в винде в общем) - это оптимальное решение но мне не совсем подходит
Oleg
сорировка в любом случае канеш нужна, даже с чилдренами мне рпишлось делать сортировку в рамках одно ветки
Oleg
Daniil
ну в случае чилдренов не обязательно это же json а массив упорядочить в json уже можно
Daniil
Oleg
как само?
Artem
подскажите, как можно выводить текущую дату на момент выполнения скрипта. в таком формате 2019-06-19 08:56:40. как можно это реализовать,?
Daniil
ну потом это преобразуется в тот вид:
const testNodes = {
'0-0': {
name: '0-0',
children: ['1-1','1-2'],
parentId: ''
},
и там уже событиями и DOM структурой разруливается
Oleg
ну то есть, допустим нода не раскрыта и ты ей не указваешь children так?
Daniil
нет в общем случае я сразу все их загоняю, но так как у меня будет фильтрация то потом уже буду прятать (это не сложно решить)
Oleg
а как ты будеш определять какие ноды открыты а какие закрыты?
Oleg
ну лан)
Oleg
потом отпишись как сделал) я прост этим вопросом месяц занимаюсь, довольно хорошо погрузился в тему деревьем
Daniil
Oleg
😎
Daniil
тем кто любит спрашивать а как это делается в продакшене, думаю в большинстве используется npm модуль moment (у него много разных фишек есть) но его нужно грамотно обрубать чтобы не тянуть весь в билд (много языков)
Антон
кстати наблюдения из прода) Safari не имеет некоторых темплейтов парсинга дат. т.е. то что отлично работает на хроме, может упасть на сафари. У меня такая "фича" была при фильтрации конкатированных дат) так что зарекся использовать стандартный Date.parse
Daniil
Konstantin
Всем привет, помогите разрешить проблемку
Страница 1: список слайдов
Страница 2: форма редактирования конкретного слайда
Когда на Странице 1 нажимаю кнопку "редактировать слайд", открывается Страница 2, но пустая, если вернуться на Список всех слайдов (Страница1), и еще раз нажать кнопку Редактировать, то открывается форма уже с данными
На Странице 2 есть ComponentDidMount, и в логе я вижу, что он вытащил через АПИ нужные данные и отправил в стор, но почему-то в форме остаются старые данные стора (пусто при первой загрузке и старые данные при последующих).
скрины кода прикрепляю
Konstantin
Konstantin
Konstantin
Anonymous
Привет можете помочь в React есть авторизация работает нормально но в URL # попадает http://site.com/#/login как можно убрать #
Daniil
а мог бы ты в сандбоксе накидать?
Daniil
Konstantin
а мог бы ты в сандбоксе накидать?
с этим сложновато, проект большой, бакэнд тоже на локалке у меня, без него не будет работать. Мне кажется, что решение простое, вроде по урокам все делал, ощущение, что после обновления стора новыми данными он не приходит обратно обновленный, хотя должен
Daniil
Daniil
componentDidMount(): вызывается после рендеринга компонента.
Daniil
нет
Daniil
Oleg
если после дидМоунт изменился стор, и в следствии изменения стора изменились пропсы через коннект редакса, то будет апдейт компоненты
Oleg
и если апдейт дает новые данные то будет рендер
Oleg
судя по табличке)
акионка.
акионка.
?*
Daniil
я просто по коду не вижу что стейт меняется
Daniil
а увидел)
Daniil
только не увидел диспатча
Daniil
Konstantin
Petrov
Толстые аксоны — норм или нет.
Толстые аксоны === хороший памятный след, равно как большое количество дендритных шипиков === хорошая память. Процессы взаимосвязаны. Дендритные шипики после появления быстро исчезают - 1-2 недели - поэтому интервальное повторение важнее всего. В курсе Learning How to Learn все техники описаны, которые нужны для успешного обучения мозга новым навыкам.
Daniil
Petrov
Daniil
ага, как раз сейчас проверяю это
наверно лучше все-таки хоть абстракно сделать в сандбоксе код вроде бы и без диспатча работает, возможно что-то еще ускользает из виду
Konstantin
Konstantin
Konstantin
я убрал axios только, потому что он на локальный серв делал запрос
Konstantin
Открываешь Слайды, жмешь Edit и пусто, второй раз открываешь Слайды - Edit и данные есть
Daniil
ща гляну, открывается, буду смотреть
Serik
Перехожу на typescript. Что передать на RouteComponentPorps? class Home extends React.Component<RouteComponentProps<any>, {}>. Думаю any не очень фэншуй
Daniil
Daniil
Daniil
по докам можно глянуть, я думаю не все можно прописать с учетом вложенности и рекусивных ссылок, там где не критично можно any обычно типизация - это вариант валидации входящих данных (параметров) т.е. если уверен что параметр может быть иным то лучше проверять если нет то не стоит
Serik
Спасибо большое
Anonymous
Друзья помогите с решением проблемы! В гитбашхи при переключении бранч выбивает ошибку : error pathspec "......" did not match any file(s) known to git.... Что это за беда такая? Я уже хард ресет сделал. Нету что комитить, стоит на бранч мастер... Прыгнуть в низ ни как не получается...
Oleg
установи smartgit и не парься с башем
Oleg
придет понимание как это все работает и в баше потом если нужно вникнеш
Anonymous
Oleg
не, это другая прога
Oleg
https://www.syntevo.com/smartgit/
Anonymous
Anonymous
Кто на какой видос пришол react.js ?
Oleg
все уже посмотрел трижды