【发布时间】:2020-02-03 17:45:23
【问题描述】:
React Hooks 为我们提供了 useState 选项,我经常看到 Hooks 与 Class-State 的比较。但是 Hooks 和一些常规变量呢?
例如,
function Foo() {
let a = 0;
a = 1;
return <div>{a}</div>;
}
我没有使用 Hooks,它会给我同样的结果:
function Foo() {
const [a, setA] = useState(0);
if (a != 1) setA(1); // to avoid infinite-loop
return <div>{a}</div>;
}
那么有什么区别呢?在这种情况下使用 Hooks 更加复杂......那么为什么要开始使用它呢?
【问题讨论】:
-
您正在比较 2 个不同的事物。带有钩子的第二个函数具有更新数据的能力。第一个并没有真正做任何事情。你可以用
let a = 1; return <div>{a}</div>初始化它,你会得到同样的结果。
标签: javascript node.js reactjs react-hooks