FreeCode.Academy

Стратегии обучения

Уроки

Технологии

Участники

Проекты

Топики

Блоги

Офис

О проекте

Николай Ланец
Николай Ланец
Запрос уникального объекта не по id
Да как бы ты ни поступал, вот здесь же ты берешь один пост из массива.
const post = data.data?.posts[0]
То есть здесь у тебя константа post - это один объект, а не массив. Так почему ты дальше пытаешься пробросить как массив? И почему там на конце ты из массива пытаешься получить свойство title, как будто у тебя там не массив должен прийти, а конечный пост? То есть ты настолько запутался тут с типами объектов, просто ппц.


Попов Дмитрий
Попов Дмитрий
Запрос уникального объекта не по id
Это все из первого вопроса выползает))
--> Вытаскиваю из url с помощью useRoute порпаметр поста urlname и по нему делаю фильтр среди всех постов. Работает, но явно это гланды через ж...
Как в том случае следкет поступить?
---
Вот здесь похоже надо было заблуждаться до конца и передавать массив из одного поста....

Николай Ланец
Николай Ланец
Запрос уникального объекта не по id
Ну так а зачем ты тип посту задал массив?
export type PostPageViewProps = { post: PostFragment[] }
Сам виноват.
Еще и здесь передаешь post или массив.
<PostPageView post={post || []} />
Пьяный был или сонный? :)

Николай Ланец
Николай Ланец
Обсуждение задания "Understand the Hazards of Using Imperative Code"
Откройте dev-tools браузера. Все консольные сообщения туда выводятся. И вы можете в коде писать свои console-вызовы, они там будут выводиться.

С
Сергей Гуляев
Случайно выполни задание с чужим решением. Возможно в этом коде получиться разобраться, если консоль будет показывать все выводы, а не только "is not defined"...
Попов Дмитрий
Попов Дмитрий
Запрос уникального объекта не по id
Здесь же вылезли ошибки типов: https://github.com/linklib/miniwar/blob/779e373a16fbe04b4c80fdf1d2cd1a1bcf182fc4/src/pages/Posts/Post/index.tsx#L41
и
https://github.com/linklib/miniwar/blob/779e373a16fbe04b4c80fdf1d2cd1a1bcf182fc4/src/pages/Posts/Post/View/index.tsx#L9

Работать работает, но ts ошибки есть. Чует мое сердце - связь есть)
Николай Ланец
Николай Ланец
Обсуждение задания "Use Destructuring Assignment to Pass an Object as a Function's Parameters"
stats{max, min} - подобный код вообще невалидный в JS. А по поводу вашего вопроса: давайте еще подробнее разберем синтаксис.
const half = ({max, min}) => (max + min) / 2.0;
Здесь выполняется операция присвоения (с использованием оператора присвоения (или присваивания, кому как больше нравится)). То есть здесь сразу надо разбить на две части: то, что слева от знака = и то, что справа. При этом порядок выполнения тут справа налево, то есть сначала будет вычислен конечный результат справа, и только потом этот результат будет передан в левую часть, то есть в нашем случае присвоен константе half. И здесь надо понимать, что константа здесь не обязана называться именно half. Какое бы мы не дали допустимое имя здесь, она все равно получила бы результат выполнения из правой части.

А что у нас справа? А тут у нас просто стрелочная функция. При этом обратите внимание, что в данном случае присваивается не результат этой функции, а именно сама функция. То есть сейчас она только создана, но ее еще не вызывали, параметров в нее никаких не передавали. Вызывают ее позже:
console.log(half(stats)); // should be 28.015
Вот здесь уже ее вызывают, а результат ее выполнения уходит в console.log(). И вот здесь важно понять: в вызов функции half уходит параметр-объект stats. То есть в нашу функцию может быть передан любой параметр, или вообще не будет передан (javascript это позволяет). Другой вопрос что мы ожидаем в нашей функции. А в ней мы ожидаем, что придет объект, который содержит в себе свойства max и min. И не важно каково имя переменной этого объекта (это может быть вообще анонимный объект). А вот если придет не объект, а, к примеру, null или undefined, то у нас возникнет ошибка, потому что из них нельзя так свойства извлечь.

Подитожим: не важно какое имя у параметра функции, важно что мы в нее передаем.
С
Станислав
const half = ({max, min}) => (max + min) / 2.0; // use function argument destructuring
Почему этого достаточно и не надо указывать, что данные берутся именно из объекта stats?
Мне казалось, что так правильно:

const half = (stats{max, min}) => (max + min) / 2.0; // use function argument destructuring
Николай Ланец
Николай Ланец
Обсуждение задания "Create complex multi-dimensional arrays"
Видимо этот коммент был случайно здесь создан, и относился к этому обсуждению.
Николай Ланец
Николай Ланец
Обсуждение задания "Understand Own Properties"
>> именно конструктора, без свойств из прототипа?

Конструктор и прототип - это в общих чертах одно и то же, то есть базовая функция, с помощью которой быс создан конечный инстанс.
(a.__proto__.constructor === a.constructor) === true
Конечные сущности принято называть инстансами (instance). Если рассматривать теорию текущего урока, то Bird - это конструктор, а duck и canary - конечные инстансы.


  • «
  • 1
  • ...
  • 13
  • 14
  • 15
  • ...
  • 1237
  • 1238
  • »