Курс отличный, но неактуальный на 2023 год.
Сейчас в основном хуками и функциональным программированием пользуются.
kissof
Добавление можно написать проще
this.setState(({todoData}) => ({
todoData: [...todoData, newItem],
}));
а то Ментр ругатся будет )))
k.pirozhenko95
Для тих хто проходить курс зараз. Урок 52!!
Посилання, яке необхідно добавити у функцію fetch змінилося!
https://swapi.dev/api/people/1/
merzanov707
насчёт задачи 67 урока. мой интернет достаточно быстрый по этому не вижу смысла реализовывать спинер 1.6.2023
sasha.p.brest
до hoc все как то легко усваивалось, потом мозг просто запутался и стал в ступор
sasha.p.brest
с такой очередностью изменения кода у меня взорван мозг
dima170997
не получается воткнуть, в общем опишу словами: в тернарном операторе сделать все в одной строке.
apnton26
dima170997
ыыыыыы
dima170997
не скопировалось, заменяем на это
const data = loading ? :
dima170997
Огромное спасибо за такой шикарный курс!
Можно ли чуточку оптимизировать код? Проверил, работает, но может я чего-то не учел?
Итак, вместо:
const spinner = loading ? : null;
const content = !loading ? : null
...
{spinner}
{content}
заменить на:
const data = loading ? :
...
{data}
dolgih.m1996
Ребят, вы кнш простите меня, но я посмотрел более 100 уроков и могу сделать вывод.
Человек занимается отуплением своих учеников, а его код это - оверинжиниринг. (обертка - обертка -обертка - чтоб обертка....)
Да молодец, что рассказывает про базовые функции с примерами, но их применение это ппц.
Читайте лучше оф.доку
glomokomo
А где файлы к курсу ?
y.kramar15
Здравствуйте. Видео на ПК не воспроизводиться. В то время как на телефоне вполне корректно работает. Подскажите в чем может быть проблема. Попробовал несколько браузеров.
Artem
решил сделать метод toggleProperty немного иным способом в 3 строчки кода, хотя думаю можно как то упростить еще:
toggleProperty(arr, id, prop) {
const item = arr.find(element => element.id === id);
const data = {...item, [prop]: !item[prop]};
return arr.map(todo => todo.id === id ? data : todo);
}
anatolij.ihnato
Здравствуйте, а почему б не воспользоваться методом filter вместо того чтоб 2 раза резать масив?
Artem
anatolij.ihnato
Согласен. Можно просто
this.setState(({todoData}) => {
return {
todoData: todoData.filter(element => element.id !== id)
}
});
если ты об этом
filter вернет новый массив не мутируя старый.
2779522
всем привет ребята , подскажите почему в данном коде нужны квадратные скобки где "newItem"
toggleProp(arr, id, propName){
тут propName это динамически параметр, тест в зависимости от того какой параметр был передан в функциу как аргумент, функция будет изменят иммено это войства обэкта.
louglescom
Не включаются видео почему то
louglescom
louglescom
уже всё ок
talantbekov123@gmail.com
Нашла ошибку
talantbekov123@gmail.com
Выходит ошибка , что не видит getBooks()
Друзья, кто сталкивался?
diya.chorna
после 33 урока вылезла ошибка
balzhialena94
после 57 урока вылезла ошибка
Unhandled Rejection (TypeError): undefined is not an object (evaluating 'this._extractId')
return {
id: this._extractId(planet),
.......}
если ее закрыть содержимое сайта показывает, но при обновлении постоянно вылазит эта ошибка, кто с этим сталкивался??
Команда внимательно читает ваши комментарии и оперативно на них реагирует. Вы можете спокойно оставлять запросы на обновления или задавать любые вопросы о курсе здесь.
Сейчас в основном хуками и функциональным программированием пользуются.
this.setState(({todoData}) => ({
todoData: [...todoData, newItem],
}));
а то Ментр ругатся будет )))
Посилання, яке необхідно добавити у функцію fetch змінилося!
https://swapi.dev/api/people/1/
const data = loading ? :
Можно ли чуточку оптимизировать код? Проверил, работает, но может я чего-то не учел?
Итак, вместо:
const spinner = loading ? : null;
const content = !loading ? : null
...
{spinner}
{content}
заменить на:
const data = loading ? :
...
{data}
Человек занимается отуплением своих учеников, а его код это - оверинжиниринг. (обертка - обертка -обертка - чтоб обертка....)
Да молодец, что рассказывает про базовые функции с примерами, но их применение это ппц.
Читайте лучше оф.доку
toggleProperty(arr, id, prop) {
const item = arr.find(element => element.id === id);
const data = {...item, [prop]: !item[prop]};
return arr.map(todo => todo.id === id ? data : todo);
}
this.setState(({todoData}) => {
return {
todoData: todoData.filter(element => element.id !== id)
}
});
если ты об этом
filter вернет новый массив не мутируя старый.
toggleProp(arr, id, propName){
const idx = arr.findIndex((el) => el.id === id);
const oldItem = arr[idx];
-------> const newItem = {...oldItem, [propName]: [!oldItem.propName]};
console.log(newItem)
const newArray = [
...arr.slice(0, idx),
newItem,
...arr.slice(idx + 1)
]
console.log(newArray)
return newArray
}
Друзья, кто сталкивался?
Unhandled Rejection (TypeError): undefined is not an object (evaluating 'this._extractId')
return {
id: this._extractId(planet),
.......}
если ее закрыть содержимое сайта показывает, но при обновлении постоянно вылазит эта ошибка, кто с этим сталкивался??