摘要:配置默認和中的操作并不能完全滿足所有操作需求,有些時候還是需要和打交道。當(dāng)中提供了屬性來幫助我們獲取已經(jīng)掛載元素的節(jié)點。當(dāng)元素在頁面上掛載完成以后,就會調(diào)用這個函數(shù),并且把這個掛載以后的節(jié)點傳給這個函數(shù)。
配置默認 defaultProps
class ExampleComponent extends React.Component{ static defaultProps = { value: 0 } ... } /*-------------------------------*/ class ExampleComponent extends React.Component{ ... } ExampleComponent.defaultProps = { value: 0 }ref和React中的DOM操作
React.js并不能完全滿足所有DOM操作需求,有些時候還是需要和DOM打交道。比如進入頁面后自動focus到某個輸入框,這是需要調(diào)用input.focus()的DOM API。React當(dāng)中提供了ref屬性來幫助我們獲取 已經(jīng)掛載元素 的DOM節(jié)點。具體的使用方法如下:
class ExampleInput extends Component { componentDidMount () { this.input.focus() } render () { return ( this.input = input} /> ) } }
可以看到我們給 input 元素加了一個 ref 屬性,這個屬性值是一個函數(shù)。當(dāng) input 元素在頁面上掛載完成以后 ,React 就會調(diào)用這個函數(shù),并且把這個掛載以后的 DOM 節(jié)點傳給這個函數(shù)。在函數(shù)中我們把這個 DOM 元素設(shè)置為組件實例的一個屬性,這樣以后我們就可以通過 this.input 獲取到這個 DOM 元素。
dangerouslySetInnerHTML出于安全考慮的原因(XSS 攻擊),在 React當(dāng)中所有通過表達式插入的內(nèi)容都會被自動轉(zhuǎn)義
class ExampleComponent extends React.Component { render () { const content = "Hello World
" return ({content}) } }
在上面的例子中,content的內(nèi)容會被自動轉(zhuǎn)義,當(dāng)組件被渲染后,頁面顯示的是文本形式的"
如果想要動態(tài)的向元素內(nèi)部插入新的元素內(nèi)容,該如何做呢?這時就需要使用dangerouslySetInnerHTML屬性了
class ExampleComponent extends React.Component { render () { const content = "組件參數(shù)驗證Hello World
" return ( ) } }
React提供了一種機制,可以給props中的屬性進行類型驗證.如果需要對參數(shù)進行類型驗證,需要安裝一個由React提供的第三方庫prop-types
安裝prop-typesnpm install --save prop-types
使用prop-types驗證參數(shù)類型import React, { Component } from "react" import PropTypes from "prop-types" class Comment extends Component { static propTypes = { comment: PropTypes.object // 要求 this.props.comment 必須是 object類型 } ....
prop-types提供的數(shù)據(jù)類型
PropTypes.array PropTypes.bool PropTypes.func PropTypes.number PropTypes.object PropTypes.string PropTypes.node PropTypes.element ...
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/83295.html
摘要:因為工作中一直在使用,也一直以來想總結(jié)一下自己關(guān)于的一些知識經(jīng)驗。于是把一些想法慢慢整理書寫下來,做成一本開源免費專業(yè)簡單的入門級別的小書,提供給社區(qū)。本書的后續(xù)可能會做成視頻版本,敬請期待。本作品采用署名禁止演繹國際許可協(xié)議進行許可 React.js 小書 本文作者:胡子大哈本文原文:React.js 小書 轉(zhuǎn)載請注明出處,保留原文鏈接以及作者信息 在線閱讀:http://huzi...
摘要:最近剛進入公司實習(xí),找工作的過程中發(fā)現(xiàn)還是基礎(chǔ)比較重要吧。分享一些關(guān)于前端開發(fā)入門和入門的小項目小任務(wù)吧。百度前端技術(shù)學(xué)院的任務(wù)其實能把百度前端技術(shù)學(xué)院的任務(wù)做完就很不錯啦,這里推薦幾個比較好的任務(wù)??梢詫W(xué)到前端工程化和入門的相關(guān)知識。 最近剛進入公司實習(xí),找工作的過程中發(fā)現(xiàn)還是基礎(chǔ)比較重要吧。分享一些關(guān)于前端開發(fā)入門和React入門的小項目(小任務(wù))吧。 百度前端技術(shù)學(xué)院的任務(wù) 其實...
摘要:歡迎來我的個人站點性能優(yōu)化其他優(yōu)化瀏覽器關(guān)鍵渲染路徑開啟性能優(yōu)化之旅高性能滾動及頁面渲染優(yōu)化理論寫法對壓縮率的影響唯快不破應(yīng)用的個優(yōu)化步驟進階鵝廠大神用直出實現(xiàn)網(wǎng)頁瞬開緩存網(wǎng)頁性能管理詳解寫給后端程序員的緩存原理介紹年底補課緩存機制優(yōu)化動 歡迎來我的個人站點 性能優(yōu)化 其他 優(yōu)化瀏覽器關(guān)鍵渲染路徑 - 開啟性能優(yōu)化之旅 高性能滾動 scroll 及頁面渲染優(yōu)化 理論 | HTML寫法...
摘要:歡迎來我的個人站點性能優(yōu)化其他優(yōu)化瀏覽器關(guān)鍵渲染路徑開啟性能優(yōu)化之旅高性能滾動及頁面渲染優(yōu)化理論寫法對壓縮率的影響唯快不破應(yīng)用的個優(yōu)化步驟進階鵝廠大神用直出實現(xiàn)網(wǎng)頁瞬開緩存網(wǎng)頁性能管理詳解寫給后端程序員的緩存原理介紹年底補課緩存機制優(yōu)化動 歡迎來我的個人站點 性能優(yōu)化 其他 優(yōu)化瀏覽器關(guān)鍵渲染路徑 - 開啟性能優(yōu)化之旅 高性能滾動 scroll 及頁面渲染優(yōu)化 理論 | HTML寫法...
摘要:歡迎來我的個人站點性能優(yōu)化其他優(yōu)化瀏覽器關(guān)鍵渲染路徑開啟性能優(yōu)化之旅高性能滾動及頁面渲染優(yōu)化理論寫法對壓縮率的影響唯快不破應(yīng)用的個優(yōu)化步驟進階鵝廠大神用直出實現(xiàn)網(wǎng)頁瞬開緩存網(wǎng)頁性能管理詳解寫給后端程序員的緩存原理介紹年底補課緩存機制優(yōu)化動 歡迎來我的個人站點 性能優(yōu)化 其他 優(yōu)化瀏覽器關(guān)鍵渲染路徑 - 開啟性能優(yōu)化之旅 高性能滾動 scroll 及頁面渲染優(yōu)化 理論 | HTML寫法...
閱讀 3739·2021-11-24 09:39
閱讀 1894·2021-11-16 11:45
閱讀 627·2021-11-16 11:45
閱讀 1049·2021-10-11 10:58
閱讀 2494·2021-09-09 11:51
閱讀 1950·2019-08-30 15:54
閱讀 703·2019-08-29 13:13
閱讀 3478·2019-08-26 12:18