@@ -413,7 +413,7 @@ ruleTester.run(RULE_NAME, rule, {
413413 function App({ items }) {
414414 const [test, setTest] = useState(0);
415415
416- const updateTest = useCallback(() => {setTest(items.length)}, []);
416+ const updateTest = useCallback(() => {setTest(items.length)}, [items ]);
417417
418418 useEffect(() => {
419419 updateTest();
@@ -440,7 +440,34 @@ ruleTester.run(RULE_NAME, rule, {
440440 function App({ items }) {
441441 const [test, setTest] = useState(0);
442442
443- const updateTest = useCallback(() => {setTest(items.length)}, []);
443+ const updateTest = useCallback(() => {console.log('test')}, []);
444+
445+ useEffect(() => {
446+ updateTest();
447+ }, [updateTest]);
448+
449+ return <div>items</div>;
450+ }
451+ ` ,
452+ errors : [
453+ {
454+ messageId : "noUnnecessaryUseCallback" ,
455+ } ,
456+ ] ,
457+ settings : {
458+ "react-x" : {
459+ importSource : "react" ,
460+ } ,
461+ } ,
462+ } ,
463+ {
464+ code : tsx `
465+ import {useCallback, useState, useEffect} from 'react';
466+
467+ function App({ items }) {
468+ const [test, setTest] = useState(0);
469+
470+ const updateTest = useCallback(() => {setTest(items.length)}, [items]);
444471
445472 useEffect(() => {
446473 updateTest();
@@ -449,10 +476,10 @@ ruleTester.run(RULE_NAME, rule, {
449476 return <div>items</div>;
450477 }
451478
452- function App({ items }) {
479+ function App({ items }) {
453480 const [test, setTest] = useState(0);
454481
455- const updateTest = useCallback(() => {setTest(items.length)}, []);
482+ const updateTest = useCallback(() => {setTest(items.length)}, [items ]);
456483
457484 useEffect(() => {
458485 updateTest();
@@ -482,7 +509,7 @@ ruleTester.run(RULE_NAME, rule, {
482509 function App({ items }) {
483510 const [test, setTest] = useState(0);
484511
485- const updateTest = useCallback(() => {setTest(items.length)}, []);
512+ const updateTest = useCallback(() => {setTest(items.length)}, [items ]);
486513
487514 useEffect(() => {
488515 updateTest();
@@ -623,7 +650,7 @@ ruleTester.run(RULE_NAME, rule, {
623650 tsx `
624651 import { useCallback, useState, useEffect } from 'react';
625652
626- const Component = () => {
653+ const Component = () => {
627654 const [test, setTest] = useState(items.length);
628655
629656 const updateTest = useCallback(() => { setTest(items.length + 1) }, [setTest, items]);
@@ -644,7 +671,7 @@ ruleTester.run(RULE_NAME, rule, {
644671 tsx `
645672 import { useCallback, useState, useEffect } from 'react';
646673
647- const Component = () => {
674+ const Component = () => {
648675 const [test, setTest] = useState(items.length);
649676
650677 const updateTest = useCallback(() => { setTest(items.length + 1) }, [setTest, items]);
@@ -655,7 +682,7 @@ ruleTester.run(RULE_NAME, rule, {
655682 tsx `
656683 import { useCallback, useState, useEffect } from 'react';
657684
658- const Component = () => {
685+ const Component = () => {
659686 const [test, setTest] = useState(items.length);
660687
661688 const updateTest = useCallback(() => { setTest(items.length + 1) }, [setTest, items]);
0 commit comments