Skip to content

Commit 2b5f92c

Browse files
authored
docs: refactor AutoCompleteInput example to remove unnecessary useRef (#327)
1 parent 2e3f7c3 commit 2b5f92c

File tree

2 files changed

+4
-22
lines changed

2 files changed

+4
-22
lines changed

docs/core/why-react-simplikit-matters.md

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ function AutoCompleteInput() {
2626
const [results, setResults] = useState<SearchResult[]>([]);
2727
const [isLoading, setLoading] = useState(false);
2828
const [isOpen, setOpen] = useState(false);
29-
const searchTimeoutRef = useRef<NodeJS.Timeout>(null);
3029
const containerRef = useRef<HTMLDivElement>(null);
3130

3231
useEffect(() => {
@@ -44,17 +43,13 @@ function AutoCompleteInput() {
4443
}, []);
4544

4645
useEffect(() => {
47-
if (searchTimeoutRef.current) {
48-
clearTimeout(searchTimeoutRef.current);
49-
}
50-
5146
if (query.trim().length === 0) {
5247
setResults([]);
5348
return;
5449
}
5550

5651
setLoading(true);
57-
searchTimeoutRef.current = setTimeout(async () => {
52+
const timeoutId = setTimeout(async () => {
5853
try {
5954
const response = await fetch(`/api/search?q=${query}`);
6055
const data = await response.json();
@@ -66,11 +61,7 @@ function AutoCompleteInput() {
6661
}
6762
}, 300);
6863

69-
return () => {
70-
if (searchTimeoutRef.current) {
71-
clearTimeout(searchTimeoutRef.current);
72-
}
73-
};
64+
return () => clearTimeout(timeoutId);
7465
}, [query]);
7566

7667
return (

docs/ko/core/why-react-simplikit-matters.md

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ function AutoCompleteInput() {
2626
const [results, setResults] = useState<SearchResult[]>([]);
2727
const [isLoading, setLoading] = useState(false);
2828
const [isOpen, setOpen] = useState(false);
29-
const searchTimeoutRef = useRef<NodeJS.Timeout>(null);
3029
const containerRef = useRef<HTMLDivElement>(null);
3130

3231
useEffect(() => {
@@ -44,17 +43,13 @@ function AutoCompleteInput() {
4443
}, []);
4544

4645
useEffect(() => {
47-
if (searchTimeoutRef.current) {
48-
clearTimeout(searchTimeoutRef.current);
49-
}
50-
5146
if (query.trim().length === 0) {
5247
setResults([]);
5348
return;
5449
}
5550

5651
setLoading(true);
57-
searchTimeoutRef.current = setTimeout(async () => {
52+
const timeoutId = setTimeout(async () => {
5853
try {
5954
const response = await fetch(`/api/search?q=${query}`);
6055
const data = await response.json();
@@ -66,11 +61,7 @@ function AutoCompleteInput() {
6661
}
6762
}, 300);
6863

69-
return () => {
70-
if (searchTimeoutRef.current) {
71-
clearTimeout(searchTimeoutRef.current);
72-
}
73-
};
64+
return () => clearTimeout(timeoutId);
7465
}, [query]);
7566

7667
return (

0 commit comments

Comments
 (0)