rotateLogo()立即触发:
class Logo extends Component {
constructor(props) {
super(props);
};
}
componentDidUpdate() {
if (this.props.isLoading) {
this.rotateLogo();
}
}
...
但是,当尝试使用useEffect在功能组件中实现相同功能时,在更新isLoading和 激活rotateLogo()
const Logo = ({ isLoading }) => {
useEffect(() => {
if (isLoading) {
rotateLogo();
}
}, [isLoading])
...
答案 0 :(得分:0)
在这种情况下,您可能希望同步重新渲染,因此您应该使用useLayoutEffect
而不是useEffect
:https://reactjs.org/docs/hooks-reference.html#uselayouteffect