为什么不像Vue一样在React中使用 React.Component.prototype.$store = store

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

阅读 5.4k
5 个回答

首先你是可以在react中这么写的。 比如:

React.Component.prototype.$store = $store;

是可以用的,但是这种做法并不常见!为什么呢? 听我给你吹。

react 是更纯粹的,函数式的。

将你的方法挂载到prototype是非常不纯的操作。

你可以看下react生态中比较火的数据管理库redux,它是通过react-redux以高阶函数借助context去实现的。
你可以在react中看到很多这种操作, 相对的你会看到vue中有很多往prototype挂对象和方法的操作。

试问你在vue中看过多少这种HOC的模式?

首先啊,我并不会react,看了三四次依然不太会,感觉入门比较难,也可能是因我技术菜吧。再看你说的问题啊,我感觉主要是写法上的原因,react的函数编程基本是class a extends b的写法了, class Point === Point.prototype.constructor...纯属瞎蒙胡编的我也知道对不对,我写出来也是想要征求下别的大神我的思路对不对

添加东西为什么不import呢 这种添加到全局上 会让别人以为是自带好了的 但是某次重构或者修改 就会纳闷为什么没了

react 并不推荐在原型上扩展

关键怎么调用呢

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题