Изучайте современный JavaScript с нами совершенно бесплатно!

С чего начать программисту.

Решенные задания

Вы можете добавить еще один уровень организации в свой HTML-документ в тегах html с элементами head и body . Любая разметка с информацией о Вашей странице будет идти в теге head. Остальная разметка с содержимым страницы (то, что отображается для пользователя) войдет в тег body . Элементы метаданных, такие как link, meta, title и style, обычно входят в элемент head. Вот пример макета страницы:

<!DOCTYPE html>
<html>
  <head>
    <!-- элементы метаданных -->
  </head>
  <body>
    <!-- содержание страницы -->
  </body>
</html>


Отредактируйте разметку, добавив теги head и body. Элемент head должен включать только тег title, а элемент body должен включать только теги h1 и p.


Задачи где нужна помощь

  1. Статус
    Задача
    Дата создания
    Планируемая дата начала
    Планируемая дата выполнения
    Дата начала
    Дата выполнения
    Постановщик
    Кто работает
  2. Выполняется

    Задача: Загрузка картинок из редактора через @prisma-cms/uploader Нужна помощь

    Проект: Обучение. Март.

    Разбираю Editor.js и уперся: как залить картинку, которую добавляем через редактор.

    В редакторе есть функция, в которую залетает файл, в ней надо загрузить файл и вернуть полную ссылку на файл.


    import Uploader from '@prisma-cms/uploader' ... uploadByFile(file: string | Blob) { console.log('file', file) //Здесь пытаюсь через Uploader загрузиться и получить url return Uploader.upload(file).then(() => { return { success: 1, file: { url: 'http://localhost:3000/uploads/images/1638094124655-Z62_3167.jpg', }, } }) }, },

    Ругается на .upload(file): Property 'upload' does not exist on type 'typeof Uploader'.ts(2339)

    Понятно ,что куда-то совсем не туда полез ,нео выползти не получается.

    Нужна помощь!
    Вопрос: как правильно пристроить Uploader в этом случае?
    28 нояб. 2021 г., 14:06
    15 дек. 2021 г., 6:23
  3. Новая

    Задача: Запрос уникального объекта не по id Нужна помощь

    Проект: Обучение. Март.


    Вытаскиваю из url с помощью useRoute порпаметр поста urlname и по нему делаю фильтр среди всех постов. Работает, но явно это гланды через ж...
    Как в том случае следкет поступить?
    24 нояб. 2021 г., 8:56
  4. Выполняется

    Задача: Перенести страницы и настроить роутинг 2 Нужна помощь

    Проект: Учебный проект на next-js. Покемоны.

    Перенести оставшиеся страницы на NextJs:

    1. Перенести стили из css в styled-components
    2. Пофикстить Typescript ошибки
    3. Пофиксить подключение к firebase

    17 февр. 2021 г., 18:04
    17 февр. 2021 г., 0:00
    21 февр. 2021 г., 0:00
    17 февр. 2021 г., 0:00

Все задачи где нужна помощь

Новые Комментарии

Ушел перепроходить курс по реакту)
>> Не очень понял, почему, но мне вообще оказалось не нужно распарсивать JSON.
Это потому что в GraphQL-схеме у тебя задан тип JSON.
{ "name": "content", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "JSON", "ofType": null }, "isDeprecated": false, "deprecationReason": null },
GraphQL-сервер сам на лету обрабатывает JSON-поля. Точнее чистый GraphQL таким не занимается, но apollo-server да.

>> здесь все равно поставил :any, так как не нашел иного типа для объекта data

С any тут все понятно: у тебя для моля задано JSON. Сам же наверняка понимаешь, что по сути там может прийти любая валидная JSON-строка, так что при парсинге никак нельзя быть уверенным, какая конечная структура получится. Тем не менее, прелесть any в том, что ты легко этому можешь задать свой тип заместо any. Пример:


Как видишь, здесь я для data уже описал более четкую структуру, прописав, что это объект, который содержит свойство src, тип которому - строка (правда обязательно ли содержит или нет, это тебе уже виднее, а то может там должен быть тип src?: string | null).
А вот text я не описал, потому вот ошибки появились, надо прописать.

Но это в случае, если у тебя там структура заранее известна и она такая и есть. Ежели ты предполагашь, что там в итоге просто будет объект с произвольными полями, то можешь так описать:
data: Record<string, string>
Тогда будет доступно любое свойство, а его значение будет расценено как строка.

Николай, привет!
Посмотри, пожалуйста, исправленный вариант: https://github.com/linklib/miniwar/commit/963bea3dbc40ea5e49f813cd441ffffd29e8d342

Не очень понял, почему, но мне вообще оказалось не нужно распарсивать JSON.

И вопрос: здесь все равно поставил :any, так как не нашел иного типа для объекта data: https://github.com/linklib/miniwar/blob/963bea3dbc40ea5e49f813cd441ffffd29e8d342/src/pages/Posts/Post/View/index.tsx#L8
Явно что-то на базовом понтийном уровне не выстроено в башке, вот хочу разобраться...
Николай, спасибо! Дорабатываю код.

Все комментарии