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

时间:2015-12-21 23:14:43

标签: node.js reactjs react-router

我有一个呈现叠加模式的路线。 如果我从UI导航,我希望它能够进行动画制作, 并在从地址栏导航或刷新后作为静态加载。

我使用nodejs和react + react-router。

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

谢谢!

1 个答案:

答案 0 :(得分:1)

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

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