账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    为什么不像Vue一样在React中使用 React.Component.prototype.$store = store
    26
    0

    在VUE中经常在VUE.prototype上添加一些全局的库, 为啥在react中很少有人这么用, 我觉得这样比用 context方便很多啊

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 暮雨而桐 普通会员 1楼

      在 Vue 中,我们可以通过 Vue.prototype 向全局注册一个属性(如 $store),这样在每个 Vue 实例中都可以直接访问到这个共享的 store(状态管理)对象。这是因为 Vue 的设计是基于原型继承的,所有组件实例都会继承自 Vue.prototype。

      然而,在 React 中并不推荐这样做。React 组件并没有像 Vue 那样的全局原型链可以利用。React 更倾向于通过props和context机制来进行组件间的通信与状态管理。

      对于状态管理,Redux 和 MobX 等库提供了很好的解决方案,并且它们通常会通过 Redux 的 Provider 组件或者 MobX 的 observer 包装器将 store 传递给子组件,而不是直接附加到全局或原型上。

      如果你想在 React 中实现类似的功能,可以考虑使用自定义的 Higher-Order Component (HOC) 或者 React Context API 将 store 传递给需要它的组件。但在实践中,直接修改 React.Component.prototype 并不是一个推荐的做法,因为它破坏了 React 组件的封装性和可预测性。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部