我有一个容器组件,用于需要授权访问的所有路由。但是我需要一个通用的生命周期挂钩来询问Flux商店“用户是否登录?”。问题是static willTransitionHook
无法访问 Prop (或上下文):
class AuthenticatedHandler extends React.Component {
static willTransitionTo(transition) {
// `this.props.flux` is not accessible
}
componentDidMount() {
console.log('did mount', this.props);
}
render() {
const { flux } = this.props;
return (
<FluxComponent flux={flux} connectToStores={{
user: store => ({
isLoggedIn: store.isLoggedIn(),
user: store.getUser()
})
}}>
<RouteHandler />
</FluxComponent>
);
}
}
您提出什么解决方案?使用
componentDidMount
+ componentDidUpdate
吗?谢谢! 最佳答案
真的没有办法解决。如果要接收flux
作为prop,则不能依赖willTransitionTo
。
但是,您可以使用componentWillReceiveProps
,我相信它是由React Router调用的。
但是,如果您想一开始就禁止转换,我不确定您应该如何进行。
关于javascript - React-Router(0.13)+ Flux-如何将助焊剂类实例插入willTransitionTo Hook ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31194841/