区分首页加载和路由器<链接/>?



我有一个呈现叠加模态的路由。如果我从UI导航,我希望它能动画化,并且在从地址栏导航时或者在刷新之后被加载为静态。

我使用nodejs和react+react路由器。

我考虑过使用我的通用redux设置来匹配这个问题的状态道具,但也许有一个更优雅的解决方案

谢谢!

这可以通过在props.location对象上测试prevPath属性来实现

const [isFirstLoad,setIsFirstLoad] = useState(false)
const {location} = props
useEffect(()=> {
    props.prevPath ? setIsFirstLoad(true) : setIsFirstLoad(false)
}, [location])
return <Modal animate={!isFirstLoad}/>

每个渲染器UseEffect将测试props.location(类似于componentWillReceiveProps()),以检查先前的路径是否不同。加载时prevPath属性将不存在,因此它将是false

最新更新