【发布时间】:2018-09-25 01:11:53
【问题描述】:
我使用componentWillReceiveProps 生命周期事件来启用或禁用到下一页的转换。现在这个事件改成了UNSAFE_componentWillReceiveProps,我觉得我不应该再用它了,但是我找不到明显的替代品。
组件的位置来自props.location.pathname,所以我需要一个事件,我可以在其中访问上一个和下一个道具,然后根据是否应该有过渡来设置组件的初始外观,但是:
-
getDerivedStateFromProps只能访问以前的道具。 -
shouldComponentUpdate应该用来告诉组件它是否应该更新,这不是我们想要的,所以它被淘汰了。 -
render没有以前的道具。 -
getSnapshotBeforeUpdate将参数传递给componentDidUpdate,此时组件已经渲染,所以无法设置初始外观。
我想我可以保存以前的路径名并下次在render 中使用它,但这似乎不是一个优雅的解决方案。在这种情况下,最佳做法是什么?
【问题讨论】:
标签: javascript reactjs react-router react-transition-group