react / react/react

Bug: input[type="radio"] controlled value can get out-of-sync

Abierto
#19,860 4 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Component: DOM Status: Unconfirmed Type: Bug
Lenguaje dominante
JavaScript
Estrellas
251k
Forks
51.4k
Merge medio
2 d 4 h
PR fusionados (30 d)
53

Descripción

React version: 16.13.1 and 17.0.0-alpha.0-2d131d782

Steps To Reproduce

  1. Render two input[type="radio"][name="radio"]: one is checked, one isn't
  2. Get warning about passing onChange or readOnly
  3. Add empty onChange to both

Link to code example:

The current behavior

screencapture of the described behavior

  1. React recommends readOnly for input[type="radio"] even though this isn't supported natively (though React could polyfill it)
  2. After looping through the radios once with arrow key navigation the checked state changes

The expected behavior

Arrow key navigation shouldn't break out of the controlled value. It's debateable whether React should recommend readOnly when this isn't a standard attribute like readOnly for <input type="text" />.

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

En el informe no se nombra ningún archivo fuente ni ninguna prueba. Comienza con las reproducciones enlazadas de React 16, 17 y 18 en CodeSandbox y, a continuación, rastrea el manejo del input de radio que produce la discrepancia en el estado controlado. Se considera terminado cuando la navegación con las teclas de flecha ya no cambia el valor checked controlado; la cuestión de la advertencia readOnly sigue formando parte de la discusión del issue.

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
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
45/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.