Size: a a a

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

2021 February 06

СС

Сharli Сhaplin in JavaScript — русскоговорящее сообщество
Ребята, помогите мне, я полный ноль в js )) Я хочу изменить сумму в корзине, и накостылил скрипт но он не совсем работает я не могу понять почему, на первых 3 товарах сумма меняется а на 4 нет.
источник

СС

Сharli Сhaplin in JavaScript — русскоговорящее сообщество
Сharli Сhaplin
Ребята, помогите мне, я полный ноль в js )) Я хочу изменить сумму в корзине, и накостылил скрипт но он не совсем работает я не могу понять почему, на первых 3 товарах сумма меняется а на 4 нет.
источник

AM

Ahma Mahma in JavaScript — русскоговорящее сообщество
привет, подскажите как сделать эдакую задержку на ввод, типа подождать пока польз введет строку а потом выполнить fetchSearchResults(value); ?

setTimOut?
источник

TK

Taras Karpyn in JavaScript — русскоговорящее сообщество
Ahma Mahma
привет, подскажите как сделать эдакую задержку на ввод, типа подождать пока польз введет строку а потом выполнить fetchSearchResults(value); ?

setTimOut?
Сам дал ответ на свой вопрос, но мне кажется оно будет криво работать
источник

AM

Ahma Mahma in JavaScript — русскоговорящее сообщество
подсказали дебонс надо делать
источник

TK

Taras Karpyn in JavaScript — русскоговорящее сообщество
Ahma Mahma
подсказали дебонс надо делать
Мое мнение - эта задержка там не нужна. Я бы повешал на keyUp, просто пока клиент сделает запрос на сервак то и так пройдет какое-то время секунда - две
источник

Р

Руслан in JavaScript — русскоговорящее сообщество
Ahma Mahma
подсказали дебонс надо делать
+
источник

AM

Ahma Mahma in JavaScript — русскоговорящее сообщество
Taras Karpyn
Мое мнение - эта задержка там не нужна. Я бы повешал на keyUp, просто пока клиент сделает запрос на сервак то и так пройдет какое-то время секунда - две
ню, там не так много продуктов, быстро грузит, поэтому хотя бы две сек минимум пусть ждёт))
источник

TK

Taras Karpyn in JavaScript — русскоговорящее сообщество
Ahma Mahma
ню, там не так много продуктов, быстро грузит, поэтому хотя бы две сек минимум пусть ждёт))
Можно спинер какой-то засунуть
источник

AM

Ahma Mahma in JavaScript — русскоговорящее сообщество
Taras Karpyn
Можно спинер какой-то засунуть
пока данные придут?
источник

TK

Taras Karpyn in JavaScript — русскоговорящее сообщество
Да
источник

AM

Ahma Mahma in JavaScript — русскоговорящее сообщество
хм, интересно
источник

AM

Ahma Mahma in JavaScript — русскоговорящее сообщество
мож так даж сделаю
источник

TK

Taras Karpyn in JavaScript — русскоговорящее сообщество
Ahma Mahma
хм, интересно
Это временем не реакт используете?
источник

AM

Ahma Mahma in JavaScript — русскоговорящее сообщество
да реакт
источник

TK

Taras Karpyn in JavaScript — русскоговорящее сообщество
Ну вот,  делаете стейт loader, setLoader в нем false, потом в fetch'e в начале задаете setLoader(true) (если промисом делать то в then пишете уже setLoder(false), а на сам лоадеркоторый в html дергаете его  loader && 'display: block'
источник

TK

Taras Karpyn in JavaScript — русскоговорящее сообщество
Ну а по дефолту в стилях лоадеру display: none
источник

Р

Руслан in JavaScript — русскоговорящее сообщество
Ahma Mahma
привет, подскажите как сделать эдакую задержку на ввод, типа подождать пока польз введет строку а потом выполнить fetchSearchResults(value); ?

setTimOut?
useDebounce.js
import { useState, useEffect } from 'react'

const useDebounce = (value, delay) => {
 const [debouncedValue, setDebouncedValue] = useState(value)
 useEffect(() => {
   const handler = setTimeout(() => {
     setDebouncedValue(value)
   }, delay)
   return () => {
     clearTimeout(handler)
   }
 }, [value])
 return debouncedValue
}

export default useDebounce


Использование:
...
const [inputValue, setInputValue] = useState('')
const debounced = useDebounce(inputValue, 2000) // 2 секунды

useEffect(() => {
  // логика
}, [debounced])
...
источник

AP

Artem Polonnikov in JavaScript — русскоговорящее сообщество
Всем привет! Поскажите немогу понять что не так? https://codepen.io/gamerthepro/project/editor/DkGwgQ#
источник

AP

Artem Polonnikov in JavaScript — русскоговорящее сообщество
module.exports = function (participants, sports) {  
 /  
  * Подобно оператору new создает экземпляр объекта,  
  * используя функцию-конструктор и параметры для нее  
  */  
 function constructFrom (fnConstructor, params) {  
    const res = {};  

    fnConstructor.bind(res).call(params);  

    Object.setPrototypeOf(res, fnConstructor);  

    return res;  
 }  

 /
 
  * Создает пары вида [’вид спорта’, ’имя участника’],  
  * где первому виду спорта соответствует последний участник  
  */  
 function assignParicipants () {  
    const participants = this.participants;  
    const sports = this.sports;  
    const orderIndexes = [];  
    let i = sports.length;  

    while (i--) {  
       orderIndexes.push(function() {  
         return i;  
       });  
    }  

    return orderIndexes.map(  
     (getSportIndex, i) => [sports[i], participants[getSportIndex()]]  
     );  
 }  

 function Contest (participants, sports) {  
    this.participants = participants;  
    this.sports = sports;  
 }  

 Contest.prototype.assignParicipants = assignParicipants;  


 const contest = constructFrom(Contest, participants, sports);  

 return contest.assignParicipants();  
}
источник