How to wrap a hook with a Provider with prop passing?
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Documentación
- Claridad
- Necesita aclaración
- Estado de actividad
- Estancado
- Stack tecnológico
- javascript, react
Línea de trabajo
Comienza con el ejemplo referenciado de src/tests/useContext.test.tsx y compara el comportamiento de wrapper e initialProps con la configuración de React 18 del issue. Confirma con los maintainers el patrón recomendado para envolver con el provider y, después, actualiza las pruebas o la documentación pertinentes para que el comportamiento esperado al pasar props sea explícito y esté cubierto.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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?
- Lenguaje dominante
- JavaScript
- Estrellas
- 19.7k
- Forks
- 1.2k
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de testing-library/react-testing-library
-
fireEvent.select does not wrap its automatic native focus in actPosiblemente ocupada @sergioperezcheco la tomó hace 4 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
-
bug: calling configure() without reactStrictMode resets it to undefined, silently disabling strict modeQuizá libre de nuevo @suhailopensource la tomó hace 74 días y no hay ningún pull request abierto. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 35/100
testing-library/react-testing-library#1466 · 1 comentario ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 30/100
testing-library/react-testing-library#1459 · 2 comentarios ·
-
perf: optimize container lookup with early exitQuizá libre de nuevo @Ch-Abhinav-Chowdary la tomó hace 300 días y no hay ningún pull request abierto. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 35/100
testing-library/react-testing-library#1430 · 1 comentario ·
-
`fireEvent.mouseEnter` does not forward `relatedTarget` (relatedTarget is the window instead)Posiblemente ocupada @swarnim02 la tomó hace 317 días. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
Todos los issues de testing-library/react-testing-library
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
dusk-network/exu#17 ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
jspreadsheet/ce#1809 ·
-
documentation
Dificultad 1/5 Menos de una hora Aptitud para principiantes 91/100
githubnext/gh-aw-workshop#4458 ·
Los mantenedores suelen responder en 1 día
-
Add: CartoonitoAbiertocheck:failed feeds:add
Dificultad 2/5 1-3 horas Aptitud para principiantes 63/100
iptv-org/database#37390 · 1 comentario ·
Los mantenedores suelen responder en 9 días
-
bug: directory index route root priority is overwritten when wildcard is falsePosiblemente ocupada @TalhaHunter101 la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
fastify/fastify-static#617 ·