React.js 中的混合和重复方法
Mixins and duplicate methods in React.js
越来越了解 React 的出色之处.js我开始更多地使用 Mixins。
我注意到的一件事是,我的 mixin 和我的组件都可以有一个componentDidMount
的方法——并且这两个函数都将被调用,因此在组件中定义它不会覆盖 mixin 中的函数,反之亦然。
下面是一个示例:
var MyMixin = {
componentDidMount: function() {
// Do something when component is mounted
console.log("Mixin fn ran");
}
};
var Component = React.createClass({
mixins: [MyMixin],
componentDidMount: function() {
// Do something when component is mounted
console.log("Component fn ran");
}
});
现在,问题是这是设计使然还是只是巧合。生命周期方法非常有用(例如绑定和解绑定事件(,因此我的组件和 mixins 都希望依赖这些方法的情况并不少见。文档对此没有任何说明,我想知道这样做是否会让自己度过一段糟糕的时光。
另一个问题是,我是否可以控制首先调用哪个方法?混合中的一个或组件中的一个。
是的,这是有意为之的,也是使 mixins 在 React 中非常强大的主要因素。
所以发生的事情是:
- 对于"component...">函数,它们按mixin[0],mixins[1],...,组件的顺序调用
-
propTypes
,并合并getInitialState
和getDefaultProps
的返回值 - 其他冲突的方法名称,或合并上述方法时发生冲突会导致错误
相关文章:
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- ExtJS 5:initConfig方法&可观察的混合蛋白
- Javascript:如何在不复制但链接的情况下将另一个对象 B 的方法混合到我的对象 A
- 为什么我不能将javascript函数与jquery方法混合使用
- Javascript:反序列化对象和混合方法
- 混合使用 PHP 和 JavaScript 时显示值的最佳方法
- 有没有一种简单/快速的方法将“data-”属性映射到大小写混合的属性名称
- 有没有一种干净的方法来混合异步和同步数据库查询处理
- 将长混合字符串变量从 javascript 传递到 GET url 变量的 url 友好方法是什么?
- jQuery 事件处理程序方法 - 混合对
- React.js 中的混合和重复方法
- 混合canvas/DIV方法的JS层次树示例
- 如何在不全局引入方法的情况下将方法混合到下划线中
- 有“标准的mvp”吗?混合Javascript和Razor的方法
- 在windows phone混合应用程序中如何将参数从javascript传递到c#方法
- 当使用Typescript时,如何创建一个类装饰器来将新方法混合到React组件中?
- 抓取混合内容页面的最佳方法
- 将j/s变量注入到可重用HTML块中而不在j/s文件中混合两者的有效方法是什么
- 主干:方法冲突的混合