Some Inputs with choices in their props do not accept `ReadonlyArray<T>`.
Los mantenedores suelen responder en 1 día
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 45/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- react, typescript
- Área
- frontend
Línea de trabajo
Comienza con packages/ra-core/src/form/useChoices.tsx en L16 y luego reproduce el error de TypeScript usando el ejemplo de SelectInput y el código de StackBlitz enlazado en L129 y L151. Inspecciona las otras entradas basadas en choices como se sugiere; se considera terminado cuando las readonly choices se acepten de forma coherente sin errores de TypeScript.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
What you were expecting:
SelectInput choices should accept ReadonlyArray<T>
What happened instead:
SelectInput choices does not accept ReadonlyArray<T>
Steps to reproduce:
- use
"react-admin": "^4.12.3"
Related code:
- Preferably, a sandbox forked from
- L129
- L151
https://stackblitz.com/edit/github-h13gjc?file=src%2Fposts%2FPostEdit.tsx
- A link to a GitHub repo with the minimal codebase to reproduce the issue
import { SelectInput } from 'react-admin';
type Choice = {
id: number;
name: string;
};
const mutableArray = [
{
id: 1,
name: 'foo',
},
{
id: 2,
name: 'bar',
},
{
id: 3,
name: 'baz',
},
] satisfies Array<Choice>;
const readonlyArray = [
{
id: 1,
name: 'foo',
},
{
id: 2,
name: 'bar',
},
{
id: 3,
name: 'baz',
},
] as const satisfies ReadonlyArray<Choice>;
export const SelectInputGroup = () => {
return (
<>
<SelectInput source="mutableChoices" choices={mutableArray} />
<SelectInput source="immutableChoices" choices={readonlyArray} /> // type error
</>
);
};
Other information:
My suggestion (though more than just the SelectInput needs to be inspected):
- choices?: any[];
+ choices?: readonly any[]; // or ReadonlyArray<any>
Environment
- React-admin version: 4.12.3
- Last version that did not exhibit the issue (if applicable):
- React version: 18.2.0
- Browser: Google Chrome 115.0.5790.114 (Official Build) (arm64)
- Stack trace (in case of a JS error):
- Lenguaje dominante
- TypeScript
- Estrellas
- 27k
- Forks
- 5.5k
- Merge medio
- 1 d 3 min
- PR fusionados (30 d)
- 32
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 marmelab/react-admin
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
marmelab/react-admin#11431 ·
Los mantenedores suelen responder en 1 día
-
Pagination: page button aria-labels are not translated on small screensPosiblemente ocupada @Singmin la tomó hace 1 día. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
marmelab/react-admin#11427 ·
Los mantenedores suelen responder en 1 día
-
Add emptyText property to SelectArrayInputPosiblemente ocupada @kwitykwity la tomó hace 59 días. Abiertoenhancement good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
marmelab/react-admin#10454 · 7 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 Más de una semana Aptitud para principiantes 38/100
marmelab/react-admin#11426 · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
ra-data-graphql-simple: outdated graphql-ast-types-browser dependency causes npm peer warningsQuizá libre de nuevo @bipul724 la tomó hace 12 días y no hay ningún pull request abierto. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
marmelab/react-admin#11395 · 1 comentario ·
Los mantenedores suelen responder en 1 día
Todos los issues de marmelab/react-admin
Issues similares
-
b:minor bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
software-mansion/argent#1698 ·
Los mantenedores suelen responder en 1 día
-
e2e-failure ready-to-code
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
redhat-developer/rhdh-plugin-export-overlays#4624 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
better-auth/better-auth#12132 · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
automation missing-model model-sync provider:tinfoil
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
anomalyco/models.dev#12053 ·
Los mantenedores suelen responder en 1 día
-
o8 next debug build aborts on Glass to Dark appearance switch (nil identifier messaged before check)Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
hurttlocker/o8#5112 ·