簡體   English   中英

Clojurescript /試劑沒有自動渲染

[英]Clojurescript/reagent without automatic rendering

我們之前使用單個不可變的應用程序狀態使用FB React編寫了代碼。 但是,我們進行了如下渲染:

model = immutable({name:"X"});

function change_name(name){
    swap(render(change("name", name, model))))
} 

在哪里渲染:

function render(state){
    ReactDOM.render(<Todos app_state={state} />,document.getElementById('main'));
}

在試劑中,我們使用ar / atom,它在每次交換時都會檢查是否需要進行其他渲染。 對於非常簡單的東西(如上面的東西),這是可以的,但是如果操作非常復雜(包括許多來回的ajax操作),則手動控制何時進行渲染會更好。

我們之前工作方式的TODOMVC在這里: http : //jsfiddle.net/danbunea1/bL62p47n/

據我所知,試劑批次是通過requestAnimationFrame更改的,並且組件實現了智能的shouldComponentUpdate所以我會說默認值對性能非常敏感,建議不要過早優化。

就是說,為了完成您剛才的要求,只需在完成所有這些昂貴的操作后執行原子突變即可。

只有當您swap!時才這樣swap! reset! 等等,最后,試劑將考慮觸發渲染。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM