Size: a a a

React Native — русскоговорящее сообщество

2020 May 16

К

Костянтин in React Native — русскоговорящее сообщество
Всем привет. Я делаю проект  "интернет магазин" и вот при нажатии на кнопку добавить товар я показываю уведомление через Toast что товар добавлен или обновлено его количество.
Понимаю что звучит тупо, но  могу быть какие-то странные личности что будут нажимать несколько раз добавить товар в корзину и потом будет выскакивать несколько уведомлений что товар добавлен/обновлен.
Как этого избежать, сделать какую-то задержку "красиво"(не знаю как правильно сформулировать тут мысль) и желательно без прелоадера? Какой есть вариант кроме как делать кнопку disabled, а через 500мс  снова делать ее активной?
источник

AS

Andrey Sorokin in React Native — русскоговорящее сообщество
Кто пробовал запустить проект CLI в EXPO??? Это возможно???? Возможно ли иметь возможность на маке работать и с CLI и с EXPO???
источник

GW

George Wiseman in React Native — русскоговорящее сообщество
А в чем сложность с expo-cli? Вроде все работает отлично
источник

GW

George Wiseman in React Native — русскоговорящее сообщество
Костянтин
Всем привет. Я делаю проект  "интернет магазин" и вот при нажатии на кнопку добавить товар я показываю уведомление через Toast что товар добавлен или обновлено его количество.
Понимаю что звучит тупо, но  могу быть какие-то странные личности что будут нажимать несколько раз добавить товар в корзину и потом будет выскакивать несколько уведомлений что товар добавлен/обновлен.
Как этого избежать, сделать какую-то задержку "красиво"(не знаю как правильно сформулировать тут мысль) и желательно без прелоадера? Какой есть вариант кроме как делать кнопку disabled, а через 500мс  снова делать ее активной?
Я делал прям стейт disabled на несколько мс
источник

ЭЗ

Эдуард Заборовский... in React Native — русскоговорящее сообщество
Костянтин
Всем привет. Я делаю проект  "интернет магазин" и вот при нажатии на кнопку добавить товар я показываю уведомление через Toast что товар добавлен или обновлено его количество.
Понимаю что звучит тупо, но  могу быть какие-то странные личности что будут нажимать несколько раз добавить товар в корзину и потом будет выскакивать несколько уведомлений что товар добавлен/обновлен.
Как этого избежать, сделать какую-то задержку "красиво"(не знаю как правильно сформулировать тут мысль) и желательно без прелоадера? Какой есть вариант кроме как делать кнопку disabled, а через 500мс  снова делать ее активной?
Делаешь Стейт времени нажатия на кнопку. Если текущее время меньше прошлое нажатие + 1 секунда, ничего не делаешь
источник

К

Костянтин in React Native — русскоговорящее сообщество
Я просто подумать сделать x
const [isButtonDisabled, setButtonDisabled] = useState<boolean> (false);

При нажатии на кнопку вызывается функция которая делаешь true и кнопка блочится + делается нужная операция. И через setTimeout через 500мс делаешь false.
источник

AV

Anton Vlasov in React Native — русскоговорящее сообщество
Костянтин
Я просто подумать сделать x
const [isButtonDisabled, setButtonDisabled] = useState<boolean> (false);

При нажатии на кнопку вызывается функция которая делаешь true и кнопка блочится + делается нужная операция. И через setTimeout через 500мс делаешь false.
Так у тебя будет обновляться стейт и ререндериться, хотя по сути оно тебе не нужно - тебе нужно просто не дать два раза случайно кликнуть туда, где ожидается один клик
источник

AV

Anton Vlasov in React Native — русскоговорящее сообщество
Костянтин
Я просто подумать сделать x
const [isButtonDisabled, setButtonDisabled] = useState<boolean> (false);

При нажатии на кнопку вызывается функция которая делаешь true и кнопка блочится + делается нужная операция. И через setTimeout через 500мс делаешь false.
источник

К

Костянтин in React Native — русскоговорящее сообщество
Я вот делаю как второй ответ написали, со статусом кнопки disabled.
источник

AV

Anton Vlasov in React Native — русскоговорящее сообщество
Ваше право
источник

MI

Maksym Ivanov in React Native — русскоговорящее сообщество
всем привет, никак не могу понять чем вызвал ворнинг, судя по ключу первом объекте стилей что-то не так
источник

MI

Maksym Ivanov in React Native — русскоговорящее сообщество
источник

MI

Maksym Ivanov in React Native — русскоговорящее сообщество
источник

D

Denis in React Native — русскоговорящее сообщество
ENAMETOOLONG
в редких случаях можно взять библиотеку от wix для пуш уведомлений. Мне что бы закрыть потерю notifications с react-native-firebase v5, пришлось использовать обе либы совместно с react-native-firebase v6
А всем разница пушей между v5 и v6?
источник

К

Костянтин in React Native — русскоговорящее сообщество
Anton Vlasov
Так у тебя будет обновляться стейт и ререндериться, хотя по сути оно тебе не нужно - тебе нужно просто не дать два раза случайно кликнуть туда, где ожидается один клик
const addItem = (item) => {
 setButtonDisabled(true);
 if (!isButtonDisabled) {
  let newElement = props.basket.find((el) => el.item.id === item.id);
  if (newElement === undefined) {
   Toast.show('Item added to basket!');
   props.addItemToBasket({ item, count });
  } else {
   Toast.show('Item count updated!');
   props.updateItemCount({ item, count });
  }
 } else {
  return;
 }
 setTimeout(() => setButtonDisabled(false), 1000);
};
источник

К

Костянтин in React Native — русскоговорящее сообщество
Такой вариант же не вызовет перерендер? или можно как-то модифицировать?
источник

AV

Anton Vlasov in React Native — русскоговорящее сообщество
Костянтин
Такой вариант же не вызовет перерендер? или можно как-то модифицировать?
Смотря что делает каждая из функций, по этому коду сложно сказать, но я предполагаю что твой setButtonDisabled вызывает метод из useState
источник

К

Костянтин in React Native — русскоговорящее сообщество
В случае если товара нету в корзине я его добавляю с количеством единиц. Если товар есть я только обновляю его количество.
На кнопку disabled решил не вешать, а просто при нажатии на кнопку вызывается такая функция.
источник

DD

Denis Dedov in React Native — русскоговорящее сообщество
Подскажите, где можно хранить аудио файлы для приложения? Пробовал облако выдает ошибку
источник

К

Костянтин in React Native — русскоговорящее сообщество
Какого рода файлы, их расширения и назначение?
источник