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