How to wrap a hook with a Provider with prop passing?
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 25/100
- Type d'issue
- Documentation
- Clarté
- À clarifier
- Activité
- À l'abandon
- Stack technique
- javascript, react
Piste de recherche
Commencez par l’exemple référencé src/tests/useContext.test.tsx et comparez le comportement de wrapper et initialProps avec la configuration React 18 de l’issue. Confirmez le pattern recommandé d’encapsulation avec un provider auprès des maintainers, puis mettez à jour les tests ou la documentation concernés afin que le comportement attendu lors du passage des props soit explicite et couvert.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
What is your question:
I have seen the following which was helpful: https://github.com/testing-library/react-hooks-testing-library/issues/23
This question steams further from that with regards to passing initialProps.
I have updated React and DOM ("react": "18.2.0", "react-dom": "18.2.0",) and the React Testing Library ("@testing-library/react": "14.0.0",) to the most recent versions. I have followed that pattern, but notice that the props passed into Provider are only available via children. Please see the example below (borrowed from the tests within the library https://github.com/testing-library/react-hooks-testing-library/blob/1e01273374af4e48a0feb1f2233bf6c76d742167/src/__tests__/useContext.test.tsx):
test('should update value in context when props are updated', () => {
const TestContext = createContext('foo');
const wrapper = ({
current,
children,
}: {
current: string;
children: any;
}) => {
console.log({ current });
console.log({ children });
console.log('nested', children.props.renderCallbackProps);
return (
<TestContext.Provider value={current}>{children}</TestContext.Provider>
);
};
const { result, rerender } = renderHook(() => useContext(TestContext), {
wrapper,
initialProps: {
current: 'bar',
},
});
rerender({ current: 'baz' });
expect(result.current).toBe('baz');
});
// console.logs
console.log
{ current: undefined }
console.log
{
children: {
'$$typeof': Symbol(react.element),
type: [Function: TestComponent],
key: null,
ref: null,
props: { renderCallbackProps: [Object] },
_owner: null,
_store: {}
}
}
console.log
nested { current: 'baz' }
Was this the intended change? Are we supposed to only pass children to a wrapper and then desconstruct those props from it? Can we update the tests or docs to represent the recommended pattern?
- Langage dominant
- JavaScript
- Étoiles
- 19.7k
- Forks
- 1.2k
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
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 testing-library/react-testing-library
-
fireEvent.select does not wrap its automatic native focus in actPeut-être pris @sergioperezcheco l’a pris il y a 20 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
-
bug: calling configure() without reactStrictMode resets it to undefined, silently disabling strict modePeut-être pris @nimbly1 l’a pris il y a 1 jour. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 35/100
testing-library/react-testing-library#1466 · 2 commentaires ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 30/100
testing-library/react-testing-library#1459 · 2 commentaires ·
-
perf: optimize container lookup with early exitPeut-être à nouveau libre @Ch-Abhinav-Chowdary l’a pris il y a 316 jours, et aucune pull request n’est ouverte. Ouverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 35/100
testing-library/react-testing-library#1430 · 1 commentaire ·
-
`fireEvent.mouseEnter` does not forward `relatedTarget` (relatedTarget is the window instead)Peut-être pris @swarnim02 l’a pris il y a 334 jours. Ouverte
Difficulté 3/5 1-2 jours Accessibilité débutants 55/100
Toutes les issues de testing-library/react-testing-library
Issues similaires
-
Website: add a Thai localeOuvertegood first issue
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
TanbirRamim/open-source-radar#353 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 73/100
Les mainteneurs répondent en général sous 2 jours
-
design-review mac P3 ui
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
tosunlab/hisarapp-core#502 ·
-
enhancement status: needs triage
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
mastra-ai/mastra#28651 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement frontend help wanted
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
nikhilb2/simple_invoicing#470 ·
Les mainteneurs répondent en général sous 1 jour