Some Inputs with choices in their props do not accept `ReadonlyArray<T>`.
Les mainteneurs répondent en général sous 1 jour
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 45/100
- Type d'issue
- Bug
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Stack technique
- react, typescript
- Domaine
- frontend
Piste de recherche
Commencez par packages/ra-core/src/form/useChoices.tsx à L16, puis reproduisez l’erreur TypeScript à l’aide de l’exemple SelectInput et du code StackBlitz lié à L129 et L151. Examinez les autres entrées basées sur des choices comme suggéré ; c’est terminé lorsque les readonly choices sont acceptées de manière cohérente sans erreurs TypeScript.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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):
- Langage dominant
- TypeScript
- Étoiles
- 27k
- Forks
- 5.5k
- Merge moyen
- 1 j 3 min
- PR mergées (30 j)
- 32
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de marmelab/react-admin
-
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
marmelab/react-admin#11431 ·
Les mainteneurs répondent en général sous 1 jour
-
Pagination: page button aria-labels are not translated on small screensPeut-être pris @Singmin l’a pris il y a 2 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
marmelab/react-admin#11427 ·
Les mainteneurs répondent en général sous 1 jour
-
Add emptyText property to SelectArrayInputPeut-être pris @kwitykwity l’a pris il y a 60 jours. Ouverteenhancement good first issue
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
marmelab/react-admin#10454 · 7 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 4/5 Plus d'une semaine Accessibilité débutants 38/100
marmelab/react-admin#11426 · 1 réaction ·
Les mainteneurs répondent en général sous 1 jour
-
ra-data-graphql-simple: outdated graphql-ast-types-browser dependency causes npm peer warningsPeut-être à nouveau libre @bipul724 l’a pris il y a 13 jours, et aucune pull request n’est ouverte. Ouverte
Difficulté 4/5 3-5 jours Accessibilité débutants 25/100
marmelab/react-admin#11395 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de marmelab/react-admin
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
components-web-app/docs#307 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
localstack/localstack-mcp-server#112 ·
Les mainteneurs répondent en général sous 1 jour
-
area:frontend kind:bug priority:p1 ready
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
Les mainteneurs répondent en général sous 1 jour
-
bug ready-for-agent
Difficulté 2/5 1-3 heures Accessibilité débutants 73/100
PhyberApex/kuroshiro#1687 ·
Les mainteneurs répondent en général sous 1 jour
-
Performance (Web Vitals) collector: LCP/FCP from background tabs are not discarded, inflating p75Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
umami-software/umami#4720 ·
Les mainteneurs répondent en général sous 3 jours