【发布时间】:2023-04-02 02:29:02
【问题描述】:
我总是将我的auth.onAuthStateChange().then(user => ... 放在顶级 React 组件的componentDidMount() 中。
然后我会删除componentWillUnmount() 中的监听器
我的问题是我将如何 mobx-ify 这个?我的想法是这样的:
class Store {
@observable user = null
@action killFirebaseListener = this.removeListener()
constructor() {
this.removeListener = firebase.auth().onAuthStateChange(user => {
if (user) this.user = user
})
}
}
然后我会从顶级容器组件的componentWillUnmount 调用killFirebaseListener 操作...并在必要时使用用户可观察的。据我了解,当我的用户在成功登录或注销后可观察到的更新时,我所有的听众都会相应地更新并触发重新渲染……我错了吗?
有没有人有过使用 mobx 处理这种“用户监听器”的经验?有没有人有任何可以传递的指针或资源。
【问题讨论】:
标签: reactjs firebase mobx mobx-react