startWaiting with useEffect hook overrides waiters array
- Lenguaje dominante
- JavaScript
- Estrellas
- 306
- Forks
- 28
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
Hi there!
Thank you for this awesome library.
I experienced a kind of weird behavior while working with this library.
**Description**
if I use method startWaiting in useEffect hook like
```
useEffect(() => {
startWaiting('first');
startWaiting('second');
}, []);
```
**Result**
waiters array contains only 'second' waiter, so waiters array is overwritten.
the same issue would be in the example below:
component1:
```
const Component1 = () => {
useEffect(() => {
const fetchData = async () => {
startWaiting('first');
const response = await apiCall();
endWaiting('first');
}
fetchData();
}, []);
return (/*react markup and Wait component inside*/);
```
component2:
```
const Component2 = () => {
useEffect(() => {
const fetchData = async () => {
startWaiting('second');
const response = await anotherApiCall();
endWaiting('second');
}
fetchData();
}, []);
return (/*react markup and Wait component inside*/);
```
component3:
```
const Component3 = () =>
(
);
```
in this case, every time I am trying to receive waiters array it will contain only 'second'.
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Línea de trabajo
Reproduzca el problema usando las dos llamadas a startWaiting dentro de un useEffect y compare el array waiters resultante con el ejemplo separado de Component1 y Component2. Inspeccione los puntos de entrada de startWaiting y del estado de los waiters en el repositorio; se considera terminado cuando los dos waiters, 'first' y 'second', siguen disponibles hasta sus correspondientes llamadas a endWaiting.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- javascript, react
- Área
- frontend
- Tipo de issue
- Error
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100