Задать вопрос
  • Как заставить typescript поверить, что в объекте есть свойство?

    WblCHA
    @WblCHA
    Антон Антон, сори, я на солнышке перегрелся, похоже. Какой ещё тайпоф?
    if (data.id !== undefined) {
        return update(path, { id: data.id, ...data })

    Это проверка проверяет само свойство и его тип перестаёт быть андефайнд, но этот костыльчик необходим, потому что типизация не совсем правильная.
    По факту тебе надо юнион здесь и тогда тс поймёт, что дата может быть только одного типа после проверки.
    export async function upsert(
      path: string,
      data: { id?: never } | { id: number | string }
    ) {
      if (data.id !== undefined) {
        return update(path, data)
      } else {
        return create(path, data)
      }
    }

    Но даже это не до конца верно, потому что у тебя передаваемый объект полностью должен быть типизирован и тогда получаем что-то в этом роде:
    interface SomeDataCreate {
      name: string
    }
    
    interface SomeDataUpdate {
      id: number | string
      name: string
    }
    
    export async function upsert(
      path: string,
      data: SomeDataCreate | SomeDataUpdate
    ) {
      if ("id" in data) {
        return update(path, data)
      } else {
        return create(path, data)
      }
    }
    Написано
  • Как заставить typescript поверить, что в объекте есть свойство?

    WblCHA
    @WblCHA
    как заставить поверить typescript что свойство есть

    Так он и не спорит, что оно есть, просто ты делаешь не ту проверку.

    if (typeof data.id !== undefined) {
    Написано
  • Почему Typescript ругается на файлы js?

    WblCHA
    @WblCHA
    А на что именно он ругается? Ты спрашиваешь как исправить ошибку, но саму ошибку не написал, гениально.)
    Написано
  • Почему Typescript ругается на файлы js?

    WblCHA
    @WblCHA
    Не то, чтобы это на что-то влияло, но зачем создавать скрипт для создания тсконфига? Тут же даже никакой логики нет, просто жс объект в джейсон преобразовывается и всё.
    Написано
  • Как перенести и улучшить данный скрипт из Stylus в Tempermonkey?

    WblCHA
    @WblCHA
    Константин Мельников, ты действительно считаешь, что тебе хоть кто-нибудь ещё поможет с таким отношением к людям? Я бы может и помог тебе написать код, но ты же не просишь тебе помочь, ты требуешь. И зачем оно мне или кому-нибудь другому надо?
    Написано
  • Как перенести и улучшить данный скрипт из Stylus в Tempermonkey?

    WblCHA
    @WblCHA
    Константин Мельников,
    а по русски можно? Что такое жс, стайлус, цссом и обезьянка?

    По русски я как раз и написал.) А английский ты вообще не знаешь? Я буквально использовал те же самые слова, что и ты. Ну ладно, кроме жс. Это JS.

    напиши как это сделать.

    Я написал. А если ты хочешь конкретное решение, то ты сайтом ошибся, с такими запросами на фриланс.
    Написано
  • Как перенести и улучшить данный скрипт из Stylus в Tempermonkey?

    WblCHA
    @WblCHA
    Этот код применяет стиль к тегу, если внутри одного из вложенных тегов есть искомый текст. А как сделать что бы стиль применялся не только к главному, но и всем вложенным тегам? В Stylus достаточно добавить * в конце селектора. А в JS как того же результата добиться?

    А зачем тебе для этого жс? В том же стайлусе создай уникальный класс с нужным тебе цссом и селектором, а в обезьянке просто вешай этот класс нужному элементу, вместо инлайн стилей, и всё.
    Написано
  • Почему не получается подключить VSCode к Remote-WSL?

    WblCHA
    @WblCHA
    WSL: Ubuntu в левом нижнем углу продолжает гореть синим.

    И что не так? Фиолетовый они давно уже убрали.
    Терминал какой открывается? Если баш, то всё очевидно.
    Можешь ещё в настройки и посмотри, есть вкладка настроек убунту или нет.

    И совет, если держишь все проекты в всл, то добавь в настройки юзера:
    "window.title": "Not WSL: ${dirty}${activeEditorShort}${separator}${rootName}${separator}${appName}",

    и в настройки убунту добавь:
    "window.title": "${dirty}${activeEditorShort}${separator}${rootName}${separator}${appName}"

    Так ты всегда будешь уверен что именно у тебя открыто.
    Написано
  • Как в реакте правильно доставать данные из localstorage?

    WblCHA
    @WblCHA
    JSON.parse возвращает простые объекты

    Поправочка, парс тут не причём, дело в джейсоне, в нём нельзя хранить функции, коими компоненты и являются.
    Написано
  • Защищенный ТАЙМЕР для ограничения прохождения викторины по времени?

    WblCHA
    @WblCHA
    Сути дела не меняет, но...

    Таймер это счётчик - он считает пройденное кол-во единиц времени (сек, мин, часов и тд).

    Это секундомер, а таймер работает в другую сторону и сигнализирует тем или иным способом о достижении стартовой позиции.)
    Написано
  • Разбор сигнатуры метода?

    WblCHA
    @WblCHA
    Слева тип, справа реализация.
    Написано
  • Хватит 16 гб озу и i3-7100 для офисного компьютера (word excel pdf много вкладок в браузере) на следующие 10 лет?

    WblCHA
    @WblCHA
    Виктор, а кто говорит об одновременном использовании? Дополнительные вкладки — это одноразовые закладки. Зачем сохранять какое-нибудь видео или фильм в закладки, чтобы потом ещё и удалять её? Точно время не тратишь?
    Ещё пример, выбираешь товар и разные магазины, сравнение и т.д. уже могут с десяток вкладок спокойно накинуть, а выбирать и следить за товаром (в том числе речь может идти о машине и квартире) можно неделями, а то и месяцами. Каждый раз всё будешь закрывать и открывать? Очень удобно.
    Да, конечно, мусор так тоже копиться, но для этого достаточно раз в год браузер почистить.
    И последнее, если ты используешь хром, то там по умолчанию наличие хотя бы 3 вкладок уже боль, потому что нет нормального ктрл+таб.
    Написано
  • Хватит 16 гб озу и i3-7100 для офисного компьютера (word excel pdf много вкладок в браузере) на следующие 10 лет?

    WblCHA
    @WblCHA
    Виктор, aleks-th, и что же жрут выгруженные из памяти вкладки?) И как отвлекают свёрнутые группы вкладок?)
    Написано
  • React Native или Flutter?

    WblCHA
    @WblCHA
    хочется создать что-то максимально уникальное без привязки к существующим в системе компонентам

    Без обид, но все твои примеры дизайна... Обыденные.)
    Написано
  • Как правильно сделать кастомную ячейку в AgGrid?

    WblCHA
    @WblCHA
    szQocks, не, какая-то логика там есть однозначно, но как правило, это мемоизированная функция, которая просто берёт нужное значение по переданному ключу из объекта (несколько грубо говоря). Ничего сложнее там в принципе и не надо.

    Что же касается ошибки, то эта ошибка, по сути, не даст появиться другим, т.к. говорит о зависании по факту. Конечно, учитывая, что проблема только в билд версии, то я бы всё равно проверил бы даже это (ну и в исходники и18 залез бы), но я почти уверен, что дело всё же в кривом билде. Учитывая, что автор не дал вообще никакой информации на эту тему, то тут остаётся только гадать. Тем более, что самому автору решение источника проблемы неинтересно.
    Написано
  • Как правильно сделать кастомную ячейку в AgGrid?

    WblCHA
    @WblCHA
    szQocks, т приходит из хука, а внутри ещё хук?) Да и это переводы, нет ни малейшего смысла вызывать хуки в переводах, потому что они постоянно будут вызываться с тем или иным условием.
    Но самое главное другое: вызов хука по условию генерирует совершенно другую ошибку.)
    Написано
  • Как правильно сделать кастомную ячейку в AgGrid?

    WblCHA
    @WblCHA
    szQocks,
    правила хуков

    И где там хуки после эрли ретурна?)
    Написано
  • Как правильно сделать кастомную ячейку в AgGrid?

    WblCHA
    @WblCHA
    szQocks,
    у тебя после условия идёт какая-то логика, такого быть не должно

    С чего это вдруг?

    посмотри зависимости в useEffect и useLayoutEffect везде ли всё нормально ( я недавно попадался на такую ошибку, и всё потому что в юз эффекты была лишняя зависимость )

    Тогда бы это репродьюсилось и на деве.
    Написано
  • Как правильно сделать кастомную ячейку в AgGrid?

    WblCHA
    @WblCHA
    gsaw, судя по ошибке, больше похоже на то, что проблема с билдером, раз на дев сервере всё ок, а в превью не ок.
    Написано
  • Как правильно сделать кастомную ячейку в AgGrid?

    WblCHA
    @WblCHA
    А что у вас на дев сервере делает продакшн билд? Или проблема появляется только после билда?
    И да, ошибку можно было и загуглить, чтобы в целом понимать в какой области проблема.

    spoiler
    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.
    Написано