Тут вы по сути делаете Conditional rendering в зависимости от значения isBasketShow
Тут выполняете side effect по условию
Можно же использовать тернарный оператор? Если false то поставить null
А вам нужен этот мусор?
Мне нет, просто пытаюсь догнать в чем суть, получается это типа если лень писать тернарный?
Можно Это одно и то же (не совсем, но почти)
Да почему лень? Тернарник это либо либо. А тут "если - тогда"
Просто выглядит лаконичнее типа
Если точнее, то тернарник - if/else
Можете пожалуйста объяснить, про сайд эффект, каким образом там это сработает
И то, и то выражение имеет два возможных результата
По сути у вас там вот такое, если не считать то, как я породил промис: Promise.resolve(true).then(result => result && alert(1))
Кажется, что вам: • либо немного трудно понять как работают логические операторы в этом контексте • либо вы просто не очень хорошо помните, как работают логические операторы
Все равно смысл не пойму, ок данные не пришли, это же не как не отработает и не покажет ошибку?
X && Y - если X === false, то Y даже не проверяется, т.к. всё выражение === false. А если это функци - то не вызывается
Ок данные не пришли, чем эта проверка поможет?
Типа если данные не пришли, то ничего не предпринимать
Что значит "данные не пришли"? Если вам вернётся ошибочный ответ - обрабатывайте его во втором callback-е. Если в data может не быть featured - проверьте его наличие
Ошибка на стороне сервера
Прочитайте ещё раз про промисы
Это не мой код, это код учителя, я пират и не могу ему задать вопрос
Я умею пользоваться промисами
Хорошо. Я сперва хотел пожаловаться на то, что люди почему-то лезут во фреймворки, не зная основ, но если вы умеете пользоваться промисами, тогда просто обработайте случай, если сервер вернул ошибку
Это не мой код, автор не использует catch, мне просто интересно стало зачем он делает такую проверку data featured &&
Затем, что если в data поле featured имеет falsy значение, то смысла его сетить в стейт нету, что и написано в коде
а что конкретно не понятно? он получил ответ, и если в этом ответе конкретное поле тру тогда что-то делать, иначе ничего не делать
По этому вопросу я уже отправил вам ссылку на логические операторы
Ну а на работу приложения это же не влияет? Если не будет проверки, ничего же не изменится
Как можно это понять по трем строчкам?
Обсуждают сегодня