设置钩子的状态一次



当我运行时,我不明白为什么

interface Xxx {
str: string
}
const [xxx, setXxx] = useState<Xxx>();
function getData() {
setXxx({
str: "aaa"
});
}
getData()

那么钩子就一直固定着,永远固定着。如何运行getData一次?

要在组件init上只执行一次方法,可以使用钩子useEffect:

useEffect(() => {
getData()
}, []);

这类似于反应生命周期方法componentDidMount

一些文档:https://reactjs.org/docs/hooks-effect.html#tip-通过跳过效果优化性能

最新更新