use `MultiProvider` with arbitrary props and not only `value: T`
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 48/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Ruhig
- Tech-Stack
- typescript
- Bereich
- frontend
Rechercherichtung
Beginne damit, die Einstiegspunkte MultiProvider und createContextProvider sowie deren TypeScript-Prop-Definitionen zu lesen. Prüfe, wie MultiProvider den aktuellen Wert jedes Contexts weitergibt, und verifiziere anschließend, dass mit beliebigen Props wie { initial: 1 } erstellte Contexts übergeben werden können, ohne sie in { value: ... } zu verpacken.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Describe The Problem To Be Solved
The Context primitive adds functionality to easily create context providers through createContextProvider. Given the example code on the website, ...
const [CounterProvider, useCounter] = createContextProvider((props: { initial: number }) => {
const [count, setCount] = createSignal(props.initial);
const increment = () => setCount(count() + 1);
return { count, increment };
});
// Provide the context
<CounterProvider initial={1}>
<App />
</CounterProvider>;
... the following code does not work when paired with the MultiProvider as it only accepts a single argument value:
<MultiProvider
values={[
[CounterProvider, { initial: 1 }] // not working, as this is passed to the single `value` field.
]}
>
<App />
</MultiProvider>;
Suggest A Solution
It would be nice if the individual contexts of MultiProvider accepted the same props as returned from createContextProvider so they seamlessly work together. A workaround would be to wrap the context props with { value: ContextProps }, but this destroys usability and requires refactoring the entire codebase
- Vorherrschende Sprache
- TypeScript
- Sterne
- 1.6k
- Forks
- 162
- Ø Merge
- 1 Std. 20 Min.
- Gemergte PRs (30 T.)
- 7
Entwicklungsumgebung
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus solidjs-community/solid-primitives
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
solidjs-community/solid-primitives#1059 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 68/100
solidjs-community/solid-primitives#1060 · 1 Reaktion ·
Maintainer antworten meist innerhalb von 1 Tag
-
enhancement
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 48/100
solidjs-community/solid-primitives#1055 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 55/100
solidjs-community/solid-primitives#1000 · 3 Kommentare · 5 Reaktionen ·
Maintainer antworten meist innerhalb von 1 Tag
-
enhancement
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 48/100
solidjs-community/solid-primitives#894 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in solidjs-community/solid-primitives
Ähnliche Issues
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 78/100
lichess-org/api#678 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
PostHog/posthog.com#20628 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug status:Needs Triage
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 92/100
jupyterlab/jupyterlab#19964 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
agentscope-ai/QwenPaw#8064 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
area: notebooks-jupyter bug theme: new notebook frontend
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
posit-dev/positron#16347 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag