Cannot update a component (HotReload) while rendering a different component (CSSMotion). To locate the bad setState() call inside CSSMotion, follow the stack trace as described in https://react.dev/link/setstate-in-render
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- react, typescript
- Área
- frontend
Línea de trabajo
Comienza localizando el código fuente correspondiente a node_modules/rc-motion/es/CSSMotion.js y reproduce la advertencia de React durante el renderizado. Compara el parche indicado con el código fuente del proyecto y verifica que la advertencia ya no se produzca; el payload no indica ningún archivo de prueba, así que identifica las pruebas de motion existentes pertinentes antes de realizar cambios.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Hi! 👋
Firstly, thanks for your work on this project! 🙂
Today I used patch-package to patch rc-motion@2.9.3 for the project I'm working on.
Here is the diff that solved my problem:
diff --git a/node_modules/rc-motion/es/CSSMotion.js b/node_modules/rc-motion/es/CSSMotion.js
index c75a051..364992e 100644
--- a/node_modules/rc-motion/es/CSSMotion.js
+++ b/node_modules/rc-motion/es/CSSMotion.js
@@ -56,6 +56,7 @@ export function genCSSMotion(config) {
return null;
}
}
+
var _useStatus = useStatus(supportMotion, visible, getDomElement, props),
_useStatus2 = _slicedToArray(_useStatus, 4),
status = _useStatus2[0],
@@ -120,14 +121,21 @@ export function genCSSMotion(config) {
// Auto inject ref if child node not have `ref` props
if ( /*#__PURE__*/React.isValidElement(motionChildren) && supportRef(motionChildren)) {
- var _ref = motionChildren,
- originNodeRef = _ref.ref;
- if (!originNodeRef) {
- motionChildren = /*#__PURE__*/React.cloneElement(motionChildren, {
- ref: setNodeRef
- });
- }
+ const originNodeRef = motionChildren.ref;
+
+ motionChildren = React.cloneElement(motionChildren, {
+ ref: (node) => {
+ // Assign the ref in a callback function to avoid modifying state during render
+ setNodeRef(node);
+ if (typeof originNodeRef === 'function') {
+ originNodeRef(node);
+ } else if (originNodeRef) {
+ originNodeRef.current = node;
+ }
+ },
+ });
}
+
return /*#__PURE__*/React.createElement(DomWrapper, {
ref: wrapperNodeRef
}, motionChildren);
This issue body was partially generated by patch-package.
- Lenguaje dominante
- TypeScript
- Estrellas
- 178
- Forks
- 51
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
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 react-component/motion
-
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
react-component/motion#68 · 1 comentario ·
-
React 19 compatible Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
react-component/motion#66 · 5 reacciones ·
-
Tree-shaking Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
react-component/motion#45 ·
-
State not always up to date Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 30/100
react-component/motion#36 · 1 comentario · 1 reacción ·
-
Examples should use React 18 API Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 45/100
react-component/motion#35 · 1 comentario ·
Todos los issues de react-component/motion
Issues similares
-
S: triage
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
-
fix(errors): EHOSTUNREACH from a happy-eyeballs connect is reported as a resolver error (STAMP-80) Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 90/100
snapshot-labs/stamp#666 ·
-
fix(api): prevent leaderboard SSE heartbeat from starting after disconnect during initial load Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
GauravKarakoti/SecureFlow#1070 · 1 comentario ·
-
comp/desktop P3 type/bug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 92/100
NousResearch/hermes-agent#118866 ·