【发布时间】:2021-08-04 03:20:27
【问题描述】:
下面的情况是 React 中的反模式吗?
由于某些原因,变量和函数可能会在 React 函数组件之外声明。例如,定时器 ID 等可以如下使用:
import React from "react";
const myFunc = () => { // no purpose
/*some codes*/
}
let myBool = false; // no purpose
let timerId = 0;
const MyComponent = () => {
const [name, setName] = useState("");
/* some codes */
useEffect(() => {
timerId = setTimeout(() => {
/* some codes */
}, 1000);
return () => clearTimeout(timerId);
}, []);
return (
<div>Hello world</div>
);
}
export default MyComponent;
【问题讨论】:
-
你的例子中
myBool和myFunc的目的是什么? -
@ksav 我把它们当作没有目的的傻瓜。
-
为什么要添加无用的变量?
-
@ksav 很抱歉造成混乱。我应该排除那些。
标签: reactjs anti-patterns