2015-01-10 126 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,因此它不再是快速安裝。我還沒有嘗試,如果它只需要稍微調整或更多涉及。 –