use `MultiProvider` with arbitrary props and not only `value: T`
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 48/100
- Type d'issue
- Fonctionnalité
- Clarté
- Plutôt claire
- Activité
- Calme
- Stack technique
- typescript
- Domaine
- frontend
Piste de recherche
Commencez par lire les points d’entrée MultiProvider et createContextProvider ainsi que leurs définitions de props TypeScript. Vérifiez comment MultiProvider transmet la valeur actuelle de chaque contexte, puis vérifiez que les contextes créés avec des props arbitraires telles que { initial: 1 } peuvent être fournis sans les encapsuler dans { value: ... }.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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
- Langage dominant
- TypeScript
- Étoiles
- 1.6k
- Forks
- 162
- Merge moyen
- 1 h 20 min
- PR mergées (30 j)
- 7
Préparer son environnement
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de solidjs-community/solid-primitives
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
solidjs-community/solid-primitives#1059 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 3/5 1-2 jours Accessibilité débutants 68/100
solidjs-community/solid-primitives#1060 · 1 réaction ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement
Difficulté 4/5 3-5 jours Accessibilité débutants 48/100
solidjs-community/solid-primitives#1055 ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 3/5 1-2 jours Accessibilité débutants 55/100
solidjs-community/solid-primitives#1000 · 3 commentaires · 5 réactions ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement
Difficulté 4/5 3-5 jours Accessibilité débutants 48/100
solidjs-community/solid-primitives#894 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de solidjs-community/solid-primitives
Issues similaires
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 78/100
lichess-org/api#678 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
PostHog/posthog.com#20628 ·
Les mainteneurs répondent en général sous 1 jour
-
bug status:Needs Triage
Difficulté 1/5 Moins d'une heure Accessibilité débutants 92/100
jupyterlab/jupyterlab#19964 ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
agentscope-ai/QwenPaw#8064 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
area: notebooks-jupyter bug theme: new notebook frontend
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
posit-dev/positron#16347 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour