摘要:注不做翻譯是中最小的構建部件。在里渲染讓我們看一下在下面有在你文件中無處不在的標簽我們會把這元素成為元素因為的所有東西都會放在這個元素里面。通過方法,我們能吧渲染到我們根節點上。更新被渲染的是不可變的。
下面是react官方文檔的個人翻譯,如有翻譯錯誤,請多多指出
原文地址:https://facebook.github.io/re...
特別感謝Hevaen,同時也向豪大React群所有成員表示感謝,從你們身上我學到很多。
注: Elements 不做翻譯
Elements are the smallest building blocks of React apps.
Elements 是React apps 中最小的構建部件。
An element describes what you want to see on the screen:
一個element描述你所希望呈現的樣子:
const element =Hello, world
Unlike browser DOM elements, React elements are plain objects, and are cheap to create.
不同于瀏覽器的dom elements, react elements 只是一個對象并且相對于創建瀏覽器dom來說,創建react elements是非常廉價的。
React DOM takes care of updating the DOM to match the React elements.
React DOM 只需要更新dom到對應的React elements 上。
Rendering an Element into the DOMNote:
One might confuse elements with a more widely known concept of "components". We will introduce components in the next section. Elements are what components are "made of", and we encourage you to read this section before jumping ahead.
注意:
一個令人困惑的地方,elements 跟更廣為人知的“components" 讓人混淆。我們將會在下一節介紹components。 Elements 是由 components 組成的。我們鼓勵你先跳過這一章。
在DOM里渲染element
Let"s say there is a
讓我們看一下在下面有 在你html文件中無處不在的div標簽
We call this a "root" DOM node because everything inside it will be managed by React DOM.
我們會把這dom元素成為root元素因為React的所有東西都會放在這個元素里面。
Applications built with just React usually have a single root DOM node.
通常只用react來寫的應用只有一個root 的dom節點
If you are integrating React into an existing app, you may have as many isolated root DOM nodes as you like.
如果你打算把react整合到你現在的App里,你可能盡可能的分離多個root節點。
To render a React element into a root DOM node, pass both to ReactDOM.render():
通過ReactDOM.render() 方法,我們能吧react渲染到我們根節點上。
const element =Hello, world
; ReactDOM.render( element, document.getElementById("root") );
Try it on CodePen.
It displays "Hello World" on the page.
這個頁面將會顯示"Hello World"。
Updating the Rendered Element更新被渲染的element
React elements are immutable.
react elements 是不可變的。
Once you create an element, you can"t change its children or attributes.
當你創建一個element的時候,你不能改變它們的子元素或者屬性
An element is like a single frame in a movie: it represents the UI at a certain point in time.
一個element就像是一個多帶帶的幀在電影里: 這意味著UI在時間上的某一點。
With our knowledge so far, the only way to update the UI is to create a new element, and pass it to ReactDOM.render().
根據我們現在學到的只是,我們唯一能更新UI的方式是創建一個新的element并且傳進給ReactDOM.render().
Consider this ticking clock example:
思考一下下面的時鐘例子:
function tick() { const element = (); ReactDOM.render( element, document.getElementById("root") ); } setInterval(tick, 1000);Hello, world!
It is {new Date().toLocaleTimeString()}.
打開試試
It calls ReactDOM.render() every second from a setInterval() callback.
上面的例子顯示從每一秒 setInterval()的回調函數中調用ReactDOM.render()
React Only Updates What"s NecessaryNote:
In practice, most React apps only call ReactDOM.render() once. In the next sections we will learn how such code gets encapsulated into stateful components.We recommend that you don"t skip topics because they build on each other.在實踐中,大部分的React 應用只會調用一次ReactDOM.render()。在下一張,我們將會學習如何把代碼封裝到 stateful components中
我們希望你別跳過提示因為他們被實踐在許多地方
React只更新需要的部分
React DOM compares the element and its children to the previous one, and only applies the DOM updates necessary to bring the DOM to the desired state.
React DOM 會把element 當前的值,包括他的children ,與之前的值進行比較,并且只會進行必要的更新。
You can verify by inspecting the last example with the browser tools:
你能通過使用瀏覽器工具檢查一下我們最后的那個例子
Even though we create an element describing the whole UI tree on every tick, only the text node whose contents has changed gets updated by React DOM.
盡管我們在每一秒通過創建一個element來描述整個UI樹,但只有那些內容被改變了的節點才會被React DOM 所更新
In our experience, thinking about how the UI should look at any given moment rather than how to change it over time eliminates a whole class of bugs.
我們的經驗表明,我們應該思考的是在一個特定的時刻UI應該是什么樣子的,而不是怎樣去改變它。這種思維方式能幫助我們減少很多bug。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/81672.html
摘要:調用組件,并且把作為傳遞進去。警告組件的名字最好都是大寫字母開頭的。舉個例子,表示一個標簽,但表示一個組件并且要求是一個閉合標簽。組件能引用他們的組件作為他們的輸出。警告組件必須返回一個根組件。讓我們把這個組件切割成更小的組件。 下面是react官方文檔的個人翻譯,如有翻譯錯誤,請多多指出原文地址:https://facebook.github.io/re... Components ...
摘要:如果你使用實驗性屬性初始化語法,你能用這方法來正確綁定回調函數的綁定這語法在中默認支持。然而,如果這回調函數是作為一個傳遞到更下一級的組件中的時候,些組件可能會做一個額外的重新渲染。 下面是react官方文檔的個人翻譯,如有翻譯錯誤,請多多指出原文地址:https://facebook.github.io/re... Handling events with React element...
摘要:元素和組件實例都不表示真實元素。我希望這篇文章能夠幫助你理清這些術語參考資料翻譯成支撐實例來自于理解中方法創建組件的聲明式編程和命令式編程的比較對循環提示增加的研究精髓之一算法 本篇為譯文,原文出處:React Elements vs React Components vs Component Backing Instances 許多人可能聽說過 Facebook 的 React 庫,...
摘要:好久沒有更新系列文章了,今天去官網一看也出來了。也在以下幾處實現上進行了改進改進了與第三方庫的協同工作能力。移除了這個作用是在中用來作為。使用了更加簡單方便的方式來處理和第三方庫的關系。這次升級的主要目標之一就是數據系統的改進。 好久沒有更新polymer系列文章了,今天去官網一看2.0 preview也出來了。這幾天項目正好不緊,有大量的空閑時間,不如就翻譯一下這篇關于Polymer...
閱讀 2384·2023-04-26 02:54
閱讀 2307·2021-10-14 09:43
閱讀 3341·2021-09-22 15:19
閱讀 2837·2019-08-30 15:44
閱讀 2697·2019-08-30 12:54
閱讀 980·2019-08-29 18:43
閱讀 1932·2019-08-29 17:12
閱讀 1325·2019-08-29 16:40