在一个页面上trigger action,能否在另一个页面上listenTo?
页面A:
const PageA = (props) => {
return <div onClick={()=> {
action.sendAction('click'); // 触发 action
props.history.pushState('pageB'); // 跳转到B页面
}}/>;
}
页面B:
class PageB extends Component {
componentDidMount() {
this.listenTo(action.sendAction, function(msg) { // 监听这个事件
console.log(msg)
})
}
render() {
return null;
}
}
环境:React 0.13.x / React-Router 1.x / Reflux;
PageA与PageB是两个页面(router),没有共享的store。
如代码所示,在A页面上trigger的action后,跳转回B页面上,此时B页面能否接受到这个trigger?
问题:
这样设计action是否合理?
理论上B页面能否确实原子的收到?
似这种从属(B页面呼出A页面,A改好数据再返回到B页面)怎样设计合理?
实际测试中,B页面确实可以收到这个trigger,但是放在手机上测试就不可以,很奇怪。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
确认下一些细节:
这里所说的“页面A”、“页面B”,是指实际的HTML页面,还是只是两个React组件A、B。