Nikolay
Не мутируй данные в старом контексте.
Я не совсем понял что ты имеешь в виду. Можешь объяснить подробнее?
Андрей
Я не совсем понял что ты имеешь в виду. Можешь объяснить подробнее?
У тебя через контекст должны пробрасываться константы. Текущее API не предусматривает изменение данных.
Андрей
а как сейчас работает тот же редакс?
Ссылка на стор не меняется)
Андрей
У стора есть subscribe, через который происходит перерендер компонентов.
Nikolay
У стора есть subscribe, через который происходит перерендер компонентов.
ох, это жестко. Как лучше тогда сделать? Попробовать заменить работу с контекстом на редакс?
Nikolay
потому что подозреваю что переизобретать редакс не самая лучшая идея
Nikolay
Да, это лучше.
хех, выпиливал-выпиливал, чтобы вернуть в итоге обратно)
Maksim
как можно у свайпера узнать, инициализирован слайдер или нет? Чет копаюсь в апи, гуглю и нифига http://idangero.us/swiper/api/
Sergey
в доке всё есть
Sergey
спецом открыл почитал
Maksim
так мне нужно же не при событии
Maksim
я получаю все слайдеры, которые есть на странице и мне нужно задестроить их
Sergey
ну запиши в инстанс значение
Sergey
и обновляй
Nikolay
Да, это лучше.
А может есть более подходящие вещи для такой задачи? Сама задача в том, что есть очень сложная форма. Я старался использовать с ней redux-form, но вышло еще более объемно и сложно. Есть один большой компонент который хранит состояние формы, дополнительные данные, и все кладет это в контекст. В нем же есть обработчики на изменение формы.
Maksim
а хотя, через событие будет лучше, спасибо)
Богдан
хех, выпиливал-выпиливал, чтобы вернуть в итоге обратно)
Необязательно брать сразу redux. Можно просто добавить в констекст метод subscribe и нужный компонент просто подпишется на обновления контекста. contextState = new ContextState({title: "some title"}) getChildContext(){ return this.contextState; } class ContextState { state = {}; subscribers = []; constructor(data = {}){ return this.update(data); } update(data){ Object.assign(this.state, data) this.subscribers.forEach(sub=>sub()); return this; } subscribe(component){ this.subscribers.push(component); return ()=>this.subscribers.splice(this.subscribers.indexOf(component), 1) } } //а в нужном копоненте добавляем подписку и отписку componentDidMount(){ this.subscription = this.context.subscribe(()=>this.forceUpdate()) } componentWillUnmount(){ this.subscription(); } //И дальше когда нужно обновить просто вызываем update который вызовет оповещение и перерендер нужных компонент contextState.update({title: "new title"})
Marat
можно чат реакт-редакс
Anonymous
private animation(position: number, duration: number) { let then = Date.now(); const difference = position - document.body.scrollTop; let animationTime = 0; const callback = () => { const delta = Date.now() - then; then = Date.now(); if (animationTime < duration) { animationTime += delta; const move = difference / duration * delta; window.scrollTo(0, window.scrollY + move); // document.body.scrollTop += move; if (window.scrollY > position) { window.scrollTo(0, position); // document.body.scrollTop = position; } requestAnimationFrame(callback); } else { if (document.body) { window.scrollTo(0, position); } } }; requestAnimationFrame(callback); } ребят, почему не срабатывает анимация, а просто перекидывает в нужное место? проверяю в chrome
Sergei
Всем привет, помогите решить проблему. Есть класс в верстке <div class="game-page_field"></div> Средствами js в этот класс генерируется <div data-tid="Card" class="card"><img src="img/back.png" alt=""></div> После чего мне нужно, чтобы при клике на блок class="card" происходило какое - то действие, но проблема в том, что консоль совершенно ничего не выдает, ниже фрагмент кода функции и вызываемые объекты UserControll = { clickCard: function () { $("img").click(function () { console.log(this); }); } } UserControll.StartGame(); UserControll.restartGame(); UserControll.clickCard();
Anonymous
Ребят, кто-то делал планую прокрутку скролла с помощью requestAnimationFrame?
D_d
Делай плавную прокрутку с помощью zenscroll
Александр
зачем нужен зенскролл, когда есть полифилл к оффициальным апи ?) https://github.com/iamdustan/smoothscroll
Maxim
как строку '#ff0003' перевести в число 0xff0003?
Віталій
parseInt(c.substring(1), 16)
🦜
Тут кто-нибудь юзает nextjs + styled components?
Marta
#вакансия #middle #JavaScript Developer #remote #удалённо Занятость: полная #full_time Вилка от 1800$ до 3000$ Компания: #SysGears (Днепр) Стек: - Node.js - Angular, React - MySQL или PostgreSQL - CSS/SCSS/LESS, HTML5 - английский Intermediate (B1) Контакты: скайп milevskayamarta. Телеграм https://t.me/sysgears
Romuald
Ребзи. Делаю бекап всех проектов (tar xvf...), очень притупливает node_modules при бекапе.
Romuald
Потому что в каждом проекте есть пак либ.
Roman
а вообще лучше поднять репы и не заниматься ерундой
Roman
--exclude 'node_modules' ?
я хз как, я по сути предложил
Romuald
Репы? Под ежедневные бекапы?
Roman
но вообще я ж говорю: зачем бекапить исходники, если есть гит?
Roman
зачем делать ежедневные бекапы?
Roman
я имею в виду бекапы кода
Roman
а не бекапы вообще
Romuald
Чтобы откатиться если что)
Romuald
Назад в будущее
Roman
ну блин, гит для этого есть
Romuald
Ты как-то убедительно шепчешь!
Romuald
И место не надо искать под бекапы
Nikolay
ну блин, гит для этого есть
А если сервер с гитом сгорел?
Roman
А если сервер с гитом сгорел?
а если сервер с бекапом сгорел?
Nikolay
И все компы с последним мастером впридачу
Roman
чукча не дурак, у чукчи проездной =)
Roman
Надежность
давайте бекапить бекапы тогда
Nikolay
Давайте. В авиации например почти все системы задваивают, а некоторые затраивают.
Nikolay
Но там цена отказа просто выше :)
Roman
есть разница между задваивать и бекапить бекапы
Roman
можно бекапить гит-сервак
Roman
но не надо сорцы просто таром гонять
Nikolay
но не надо сорцы просто таром гонять
А, ну это хуй знает кто так делает и зачем.
Artem Kasapchuk
да скриптик пишем, тусуем в яндекс диск, гугл драйв, на свой сервер, и на внешний жесткий диск
Artem Kasapchuk
а чего нет)
Artem Kasapchuk
зато данные сохраненны на 90 процентов
Roman
А, ну это хуй знает кто так делает и зачем.
это и был изначальный вопрос
Artem Kasapchuk
не спасет только зомбо апокалипсис при такой схеме)
Roman
зато данные сохраненны на 90 процентов
еще на марс не забудь отправить копию
Artem Kasapchuk
и делается вся система за полдня)
Roman
тогда и от апокалипсиса спасет
Artem Kasapchuk
кому на марс отправить бро?)
Artem Kasapchuk
я что то пропустил?)
Roman
илону маску
Roman
пусть отправит следующим фальконом
Artem Kasapchuk
зомби наврядли, а люди в угаре спокойно)
Artem Kasapchuk
пусть отправит следующим фальконом
а чего тебе так схема не нравится?)
Artem Kasapchuk
делает за полдня) данные фиг потеряешь)
Artem Kasapchuk
я просто терял данные один раз, было очень жестеко, с тех пор у меня даже с чисто моими рабочими данными вот такие вот отношения😂
Roman
а чего тебе так схема не нравится?)
ну потому что код уже имеет свою context-aware систему бекапов - это гит паковать исходники в тарку - это неэффективно