Comments (3)
Hey @Chukwu3meka; thanks for opening the issue! Can you provide a reproducible CodeSandbox for better troubleshooting?
from material-ui.
Adding key to <Box component="li" mb={1} {...props}> does not solve the issue
Is this what you tried? <Box component="li" mb={1} {...props} key={props.key}>
@Chukwu3meka
from material-ui.
Hi, I have the same issue. I tried @mj12albert's suggestion but it doesn't work for me.
Some of the implementations I have tried and have the same problem:
First
<li {...props}>
// Error
Warning: A props object containing a "key" prop is being spread into JSX:
let props = {key: someKey, tabIndex: ..., role: ..., id: ..., onMouseMove: ..., onClick: ..., onTouchStart: ..., data-option-index: ..., aria-disabled: ..., aria-selected: ..., className: ..., children: ...};
<li {...props} />
React keys must be passed directly to JSX without using spread:
let props = {tabIndex: ..., role: ..., id: ..., onMouseMove: ..., onClick: ..., onTouchStart: ..., data-option-index: ..., aria-disabled: ..., aria-selected: ..., className: ..., children: ...};
<li key={someKey} {...props} />
Second
<li key={option.id} {...props}>
// Same error
Third
<li {...props} key={option.id}>
// Error
Warning: Each child in a list should have a unique "key" prop. See https://reactjs.org/link/warning-keys for more information.
But I don't have element with repeated id
Fourth
renderOption={(props, option, { selected }) => {
const customKey = `${option.id} ${option.name}`
return (
<li key={customKey} {...props}>
// Same error
Code
<Autocomplete
disableCloseOnSelect
fullWidth
getOptionLabel={(option) => option.name}
groupBy={(option) => option.wellnessArea.name}
multiple
options={getWellnessCategoriesData?.getWellnessCategories || []}
renderInput={(params) => (
<TextField
{...params}
helperText={
t.completeProfilePage.wellnessCategories.categoriesHelperText
}
label={t.completeProfilePage.wellnessCategories.categoriesLabel}
placeholder={
t.completeProfilePage.wellnessCategories.categoriesPlaceholder
}
variant="outlined"
/>
)}
renderOption={(props, option, { selected }) => (
<li key={option.id} {...props}>
<Checkbox
checked={selected}
checkedIcon={checkedIcon}
icon={icon}
style={{ marginRight: 8 }}
/>
{option.name}
</li>
)}
size="medium"
/>
from material-ui.
Related Issues (20)
- [pigment-css] Support module aliases in nextjs-plugin HOT 2
- [material-ui][Text Field] Multiline variant cannot be made to scroll horizontally HOT 1
- [joy-ui][Circular/Linear Progress] soft (default) variant is hard to see in dark mode HOT 1
- [codemod] Error while running command ````pnpm tc badge-props```` and ````pnpm eslint```` HOT 3
- [material-ui] styleOverrides behaviour is different in MUI v4 and v5 HOT 4
- [material-ui][Select] Issue with components in fullscreen view mode HOT 2
- mistake
- [material-ui][Select] Basic demo label text is overlapping HOT 2
- Permission denied when opening Dialog while Proton Pass is active HOT 4
- [docs-infra] Add line and word highlighting on code blocks
- [joy-ui] Allow extending the color inversion feature HOT 2
- [material-ui] Is there any way to apply the Tailwind's `dark:` class prefix? HOT 2
- [docs] Accordion TransitionProps vs slotProps.transition
- [docs] Demo BasicModal crashes HOT 8
- [material-ui][Select] "&ZeroWidthSpace" is being rendered as child element HOT 2
- [typography] Allow sx prop-like responsive values on the variant prop HOT 3
- [docs] User Persona Proposal for Material UI HOT 1
- [website] Enhance navbar items hover state HOT 1
- [website] Improve visibility and alignment of the "Plans" element in the Pricing page HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from material-ui.