2015-01-10 107 views

回答

8

如果您使用诸如Browserifywebpack之类的东西从CommonJS环境构建React,或者以其他方式生成自定义版本的React,则可以这样做。也就是说,如果您只使用可下载的预构建的React,则不能

退房皮特·亨特的react-raf-batching project一个更全面的解决方案(包括英国皇家空军polyfills),但这里有一个小例子,得到这个工作:

var ReactUpdates = require("react/lib/ReactUpdates"); 

var rafBatchingStrategy = { 
    isBatchingUpdates: true, 
    batchedUpdates: function(callback, param) { 
    callback(param); 
    } 
}; 

var tick = function() { 
    ReactUpdates.flushBatchedUpdates(); 
    requestAnimationFrame(tick); 
}; 

requestAnimationFrame(tick); 

ReactUpdates.injection.injectBatchingStrategy(rafBatchingStrategy); 
+3

注有几个(solveable)角落,你可能要案件处理:https://github.com/petehunt/react-raf-batching/issues/8 –

+0

谢谢,非常丰富! – Kosmetika

+1

在撰写本评论时,'npm install react-raf-batching'需要反应0.9的同伴,当前版本为0.14.5,因此它不再是快速安装。我还没有尝试,如果它只需要稍微调整或更多涉及。 –