Open GuyGooL5 opened 1 month ago
This is known limitation. Since we currently lack a reliable method to determine whether the type of a variable is an Array or not, all method that might possibly be called on an Array object are considered, including map
, filter
, ...
Came here for this. The flag also fails with react table, where (...getRowProps()) returns a key prop. This rule should not have been added with these obvious false positives and no options to configure it.
@Igosuki Sorry for your poor experience with this rule. Could you describe in detail what false positives you are encountering with react table?
We plan to demote the rule to nursery
in the next minor, we discussed this internally: https://biomejs.dev/internals/versioning/#minor-release
Removal of a non-nursery rule or demoting a rule to the nursery group.
Environment information
Rule name
lint/correctness/useJsxKeyInIterable
Playground link
https://biomejs.dev/playground/?code=LwAvACAAVABoAGkAcwAgAGkAcwAgAGEAIABsAGkAdAB0AGwAZQAgAHMAdQBiAHMAZQB0ACAAbwBmACAAdABoAGUAIABpAG0AcABsAGUAbQBlAG4AdABhAHQAaQBvAG4AIABvAGYAIABhACAAYwB1AHMAdABvAG0AIAByAGUAcwB1AGwAdAAgAHcAcgBhAHAAcABlAHIACgBjAGwAYQBzAHMAIABSAGUAcwB1AGwAdAA8AFQALAAgAEUAPgAgAHsACgAgACAAYwBvAG4AcwB0AHIAdQBjAHQAbwByACgAcgBlAGEAZABvAG4AbAB5ACAAdgBhAGwAdQBlADoAIAB7ACAAZABhAHQAYQA6ACAAVAAgAH0AIAB8ACAAewAgAGUAcgByAG8AcgA6ACAARQAgAH0AKQAgAHsAfQAKAAoAIAAgAHAAdQBiAGwAaQBjACAAbQBhAHAAPABVAD4AKABmAG4AOgAgACgAZABhAHQAYQA6ACAAVAApACAAPQA%2BACAAVQApADoAIABSAGUAcwB1AGwAdAA8AFUALAAgAEUAPgAgAHsACgAgACAAIAAgAHIAZQB0AHUAcgBuACAAIgBkAGEAdABhACIAIABpAG4AIAB0AGgAaQBzAC4AdgBhAGwAdQBlAAoAIAAgACAAIAAgACAAPwAgAG4AZQB3ACAAUgBlAHMAdQBsAHQAKAB7ACAAZABhAHQAYQA6ACAAZgBuACgAdABoAGkAcwAuAHYAYQBsAHUAZQAuAGQAYQB0AGEAKQAgAH0AKQAKACAAIAAgACAAIAAgADoAIAAoAHQAaABpAHMAIABhAHMAIAB1AG4AawBuAG8AdwBuACAAYQBzACAAUgBlAHMAdQBsAHQAPABVACwAIABFAD4AKQA7AAoAIAAgAH0ACgAKACAAIABwAHUAYgBsAGkAYwAgAG0AYQBwAHAAZQBkACAAPQAgAG0AYQBwAAoAIAAgAAoAIAAgAHAAdQBiAGwAaQBjACAAbwBrACgAKQA6ACAAVAAgAHwAIABuAHUAbABsACAAewAKACAAIAAgACAAcgBlAHQAdQByAG4AIAAiAGQAYQB0AGEAIgAgAGkAbgAgAHQAaABpAHMALgB2AGEAbAB1AGUAIAA%2FACAAdABoAGkAcwAuAHYAYQBsAHUAZQAuAGQAYQB0AGEAIAA6ACAAbgB1AGwAbAA7AAoAIAAgAH0ACgB9AAoACgBjAG8AbgBzAHQAIAByAGUAcwB1AGwAdAAgAD0AIABuAGUAdwAgAFIAZQBzAHUAbAB0ACgAewAgAGQAYQB0AGEAOgAgACIAaABlAGwAbABvACIAIAB9ACkAOwAKAAoALwAvACAAQgBpAG8AbQBlACAAcgBlAHAAbwByAHQAcwAgAGEAIABmAGEAbABzAGUAIABwAG8AcwBpAHQAaQB2AGUAIABiAGUAYwBhAHUAcwBlACAAbwBmACAAdABoAGUAIAB1AHMAZQAgAG8AZgAgAGAAbQBhAHAAYAAgAGEAcwAgAGEAIABtAGUAdABoAG8AZAAgAG4AYQBtAGUACgBjAG8AbgBzAHQAIABDAG8AbQBwAG8AbgBlAG4AdAAxACAAPQAgACgAKQAgAD0APgAgAHIAZQBzAHUAbAB0AC4AbQBhAHAAKAAoAGQAYQB0AGEAKQAgAD0APgAgADwAcAA%2BAHsAZABhAHQAYQB9ADwALwBwAD4AKQAuAG8AawAoACkAOwAKAGMAbwBuAHMAdAAgAEMAbwBtAHAAbwBuAGUAbgB0ADIAIAA9ACAAKAApACAAPQA%2BACAAcgBlAHMAdQBsAHQALgBtAGEAcABwAGUAZAAoACgAZABhAHQAYQApACAAPQA%2BACAAPABwAD4AewBkAGEAdABhAH0APAAvAHAAPgApAC4AbwBrACgAKQA7AAoA
Expected result
Implementing a
map
function for an object triggers a false positive foruseJsxKeyInIterable
when rendering in a JSX, even when the object is not an Iterable.I've provided a concrete example in the playground link,
Code of Conduct