本文整理汇总了TypeScript中mobx.Reaction类的典型用法代码示例。如果您正苦于以下问题:TypeScript Reaction类的具体用法?TypeScript Reaction怎么用?TypeScript Reaction使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Reaction类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: function
target.componentWillMount = function() {
// Call original
baseWillMount && baseWillMount.call(this);
let reaction: Reaction;
let isRenderingPending = false;
const initialName = this.displayName || this.name || (this.constructor && (this.constructor.displayName || this.constructor.name)) || '<component>';
const baseRender = this.render.bind(this);
const initialRender = (nextProps, nextContext) => {
reaction = new Reaction(`${initialName}.render()`, () => {
if (!isRenderingPending) {
isRenderingPending = true;
if (this.__$mobxIsUnmounted !== true) {
let hasError = true;
try {
Component.prototype.forceUpdate.call(this);
hasError = false;
} finally {
if (hasError) {
reaction.dispose();
}
}
}
}
});
reactiveRender.$mobx = reaction;
this.render = reactiveRender;
return reactiveRender(nextProps, nextContext);
};
const reactiveRender: IReactiveRender = (nextProps, nextContext) => {
isRenderingPending = false;
let rendering = undefined;
reaction.track(() => {
if (isDevtoolsEnabled) {
this.__$mobRenderStart = Date.now();
}
rendering = extras.allowStateChanges(false, baseRender.bind(this, nextProps, nextContext));
if (isDevtoolsEnabled) {
this.__$mobRenderEnd = Date.now();
}
});
return rendering;
};
this.render = initialRender;
};
示例2: Reaction
reaction = new Reaction(`${initialName}.render()`, () => {
if (!isRenderingPending) {
isRenderingPending = true;
if (this.__$mobxIsUnmounted !== true) {
let hasError = true;
try {
Component.prototype.forceUpdate.call(this);
hasError = false;
} finally {
if (hasError) {
reaction.dispose();
}
}
}
}
});
示例3:
b.init(() => {
var res: b.IBobrilChildren;
reaction.track(() => {
res = counter.get();
});
return res;
});
示例4:
const reactiveRender: IReactiveRender = (nextProps, nextContext) => {
isRenderingPending = false;
let rendering = undefined;
reaction.track(() => {
if (isDevtoolsEnabled) {
this.__$mobRenderStart = Date.now();
}
rendering = extras.allowStateChanges(false, baseRender.bind(this, nextProps, nextContext));
if (isDevtoolsEnabled) {
this.__$mobRenderEnd = Date.now();
}
});
return rendering;
};