如何在使用CSSTransition进行响应时添加转换效果

h6my8fg2  于 2023-01-22  发布在  其他
关注(0)|答案(2)|浏览(101)

每当newName变量的值改变时,我想在用户界面中为它添加一些效果。有什么方法可以做到吗?

drnojrws

drnojrws1#

可以。您可以使用useEffect钩子来实现这一点,并将newName状态添加为依赖项。
例如,看看下面的例子,我将通过console.log("hey, newName changed")演示变量状态每次发生变化的情况。

const Component = () => {
    const [newName, setnewName] = useState('');

    useEffect(() => {console.log("hey, newName changed!"}, [newName])
    
  const updateName = (max: number) => {

  };
  return (
    <>
    
            <div>{newName}</div>
          
       
    </>
  );
};
export default Component;

使用useState导入它。
现在,您可能会问“是的,但您只是在安慰一些人,实际上并没有对CSS过渡做任何事情”。
useEffect钩子只是一个监视状态变化的函数,从回调函数中,添加自定义的css转换类,或者触发一个改变CSS的函数。
由于我不知道你希望有什么样的过渡效果,因为你在问题中没有具体说明,所以请原谅我不能提供一个具体的例子,希望这对你有帮助。

wlzqhblo

wlzqhblo2#

使用useEffect和dependency来改变状态,并使用该状态更新类,然后为该类编写动画css,希望这会有所帮助...

import React from "react";
import "./App.css";

function App() {
    const [newName, setnewName] = React.useState('Lorem');
    const [transition, setTransition] = React.useState(false)

    React.useEffect(()=>{
       setnewName('ipsum')
       setTransition(true)
    },[newName])

  return ( 
   <>
    <h1 classNane={`${transition?'animate':''}`} >{newName}</h1>
   </>
  );
}

export default App;

相关问题