ampproject / ampproject/amp-react-prototype

Playability: imperative vs declarative control

Offen
#51 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
TBD
Vorherrschende Sprache
JavaScript
Sterne
36
Forks
6
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

When an area of DOM (or component subtree) becomes unrendered or uninteractive, we need to pause relevant components. Otherwise the playback will continue and use will have no way of finding where it’s coming from and how to stop it.

For playability we can use `AmpContext` context properties.

For imperative/declarative control, playback is very difficult to support declaratively. This we can use `useImperativeHandle` and export playback API including `playState`, `play`, `pause`, and other similar methods.

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Es werden keine Dateien oder Tests genannt. Beginne damit, den bestehenden AmpContext und die Einstiegspunkte für die Komponentenwiedergabe zu lesen, und vergleiche anschließend, wie nicht gerenderte oder nicht interaktive Teilbäume erkannt werden, mit den Anforderungen an imperative und deklarative Steuerung. Die Aufgabe ist abgeschlossen, wenn die relevante Wiedergabe pausiert wird, sobald ein Teilbaum nicht verfügbar ist, und die Playback-API den angeforderten Zustand und die angeforderten Steuerelemente bereitstellt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
javascript, react
Bereich
frontend
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.