Closed
Description
Do you want to request a feature or report a bug?
bug
What is the current behavior?
React hooks linter fails with this piece of code
function useHook() {
const ref = React.useRef([1, 2, 3]);
const res = []
// valid because there are not unexpected returns
if (ref.current) {
for (let i = 0; i !== ref.current.length && !ref.current[i]; ++i ) {
res.push(ref.current[i]);
}
}
React.useLayoutEffect(() => {});
}
however a bit more usual for loop is handled as expected
function useHook() {
const ref = React.useRef([1, 2, 3]);
const res = []
if (ref.current) {
for (let i = 0; i !== ref.current.length; ++i ) {
res.push(ref.current[i]);
}
}
React.useLayoutEffect(() => {});
}
What is the expected behavior?
Skip for looks without returns
Which versions of React, and which browser / OS are affected by this issue? Did this work in previous versions of React?
eslint-plugin-react-hooks 0.0.0