Search
Write a publication
Pull to refresh
12
0
Эдгар @EdgarAbgaryan

User

Send message

я не дочитал. так что не уверен это намеренная ошибка или нет

но дальше тоже связанные ошибки

 изначально можно считать, что регистр равен одному биту

тоже в корне не верно

"каждый регистр может содержать двоичное число" не значит 0 или 1. число не обязано быть однозначным. в регистре из 16 битов может быть записано любое 16-ти значное двоичное (то есть из 0 и 1) число. ну и диапазон соответсвенно от 00...00 до 11...11

точно всё сработает? может, конечно, я не всё в голове удержал. но тогда укажите где я ошибся.

  1. пользователь нажал на внутреннюю кнопку паузы (или пробел, не важно)

  2. плеер встанет в паузу

  3. отработает колбек этой подписки player.current.addListener("statusChange", props.onStatusChange);

  4. props.onStatusChange передаётся пустой (или вовсе не передаётся). соответсвенно в родителе ничего не меняется и в props.status всё ещё лежит "playing"

и того имеем props.status === "playing" а плеер на паузе

этот useEffect(() => {...}, [props.status]); не сработает, потому что props.status не поменялся

спасибо за статью!

кажется один кейс тут упущен. если родительский компонент, например, хочет чтобы видео всегда проигрывалось (не реагировало на внутренние кнопки стоп), то это следует написать так

    <VideoPlayer
      source={SOURCES_MOCK}
      status="playing"
      onStatusChange={() => {}}
    />

но это просто не сработает

Оба примера в принципе нерабочие. Мемоизация тут не при чём. Такое ощущение, что ты пишешь "можно коряво написать рекурсию и никогда из неё не выйти". Да, можно. Если в твоих примерах убрать withMemo, то будет просто сломанная рекурсия

Я не уверен, что понимаю вопрос. Поверхностно всё просто, результат есть в кэше - берём оттуда, функцию не вызываем. Нет кеша - вызываем функцию и записываем в кэш. Даже при отложенных вычислениях мы Сразу кладём в кэш промис

Попробуй написать маленький пример рекурсивной функции и поставь в нём console.log'и. Если так всё равное не разберёшься. То скинь пример своей функции сюда - попробую помочь

Этот вопрос возник до прочтения секции "Мемоизация рекурсивных функций" или после? Если сделать как в примере в этой секции, то не меомоизированной версии функции не будет. Будет только мемоизированая версия и вызываться всегда будет только она

спасибо, пиши ещё

только классовый компонент не нужен был. для форс-апдейта можно и useState юзать

const [, forceUpdate] = useState();

forceUpdate({});

а конкретней вот так: https://codesandbox.io/s/mutable-wave-sfxhz?file=/src/App.js

практической пользы правда не смог придумать для хука. всегда заместо него можно просто заспредить пропсы <ComponentToCurry {...props1} {...props2} />

Отличное внимание к деталям, чувствуется опыт, побольше бы таких на собесы приходило)

Тоже верно подмечено, спасибо

хорошее дополнение

Спасибо. Это именно то, до чего я хотел бы сам додуматься) Кстати, это то же решение с правайдером, что я увидел в исихониках библиотеки упомянутой в заключении. И за ссылку на статью отдельное спасибо

Information

Rating
Does not participate
Registered
Activity