当我运行时,我不明白为什么
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-通过跳过效果优化性能