最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

React循環(huán)遍歷渲染數(shù)組和對象元素方式

 更新時間:2022年09月07日 17:07:17   作者:「已注銷」  
這篇文章主要介紹了React循環(huán)遍歷渲染數(shù)組和對象元素方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

循環(huán)遍歷渲染數(shù)組和對象元素

遍歷渲染數(shù)組

1.單純數(shù)組

const pureArr = ['a','b','c','d']
//假如我們想將上面的數(shù)組利用react渲染成一個列表,代碼如下:{
{pureArr.map(item => (
<li key={item}>item</li>
))}

以上代碼在codesandbox中運行結果如下:

2. 對象數(shù)組

const objArr = [
  {
    value: "this",
    label: "this"
  },
  {
    value: "is",
    label: "is"
  },
  {
    value: "test",
    label: "test"
  }
];
//假如我們想將上面的數(shù)組利用react渲染成一個列表,代碼如下:{
{objArr.map((item, idx) => (
       <li key={idx} className={classes.li}>
          {item.label} : {item.value}
        </li>
	))
}

以上代碼在codesandbox中運行結果如下:

遍歷渲染對象元素

此用法不常見但是個考點

const statusObj = {
  developing: 'Developing',
  implemented: 'Implemented',
  auditClean: 'Audit Clean',
  deprecation: 'Deprecated',
  unknown: 'Unknown',
}
function SimpleList(props) {
  const { classes } = props;
  return (
    <div className={classes.root}>
    <ol>
    {Object.keys(statusObj).map((obj, idx) => (
          <li key={idx} className={classes.li}>{obj} : {statusObj[obj]}</li>         
    ))}
    </ol>
    </div>
  );
}

以上代碼在codesandbox中運行結果如下:

遍歷對象生成dom

項目場景

目前有一個需求,是要接收后臺返回的一個對象,并且遍歷他的屬性和值顯示到頁面上,因為該對象表示的是自定義參數(shù),每一次都不一樣,所以記錄一下;

問題描述

之前最常用的map是方法是用來遍歷數(shù)組的。

const arr = [a, b, c]
render(){
  return (
	<div>
	{
		arr.map((item,index)=>{
			return (
			  <div key={index}>{item}</div>
			)
		 })
	}
	</div>
  )
}

那對象的話,怎么遍歷呢?

  • API: Object.keys()
  • 作用:遍歷對象中的屬性

所以我們可以通過Object.keys(obj)來獲取該對象的所有屬性,根據(jù)這個數(shù)組的map方法生成相應的dom節(jié)點,代碼如下:

const obj = {
	a: [1,2,3],
	b: [4,5,6]
}
Object.keys(obj).map((element,index)=>{
	return (
		<div key={index}>
			<div>{element}</div>
			element.map((item,i)=>{
				return (
					<div key={i}>{item}</div>
				)
			})
		</div>
	)
})

不要著急,繼續(xù)往下看,還可能遇到個小坑

補充

看下面的代碼,看看你能否發(fā)現(xiàn)問題

 // field為接口字段,屬性個數(shù)不確定。
 // 例如: field = { a: "123", model: "text", ... } 
 <Descriptions 
 	title="自定義參數(shù)" 
 	size="middle" 
 	labelStyle={{ color:"#999" }} 
 	style={{ overflowY: "auto", maxHight: "160px" }}
 >
	{/* <pre >{JSON.stringify(field,null,2)}</pre> */}
	{
	  Object.keys(field).map((name)=>{
	    return <Descriptions.Item label={name}>{field.name}</Descriptions.Item>
	  })
	}
	</Descriptions>

這段代碼在頁面展示的時候,只展示屬性,那么為什么不展示值呢,這個就得從對象的點和中括號的區(qū)別說起了。

下面選自《你不知道的JavaScript(上卷)》

簡單的說就是:

  • 中括號法可以用變量作為屬性名,而點方法不可以;
  • 中括號法可以用數(shù)字作為屬性名,而點語法不可以;
  • 中括號法可以使用js的關鍵字和保留字作為屬性名,而點語法不可以 (盡量避免在變量或者屬性中使用關鍵字或保留字);

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • ReactQuery系列之數(shù)據(jù)轉換示例詳解

    ReactQuery系列之數(shù)據(jù)轉換示例詳解

    這篇文章主要為大家介紹了ReactQuery系列之數(shù)據(jù)轉換示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-11-11
  • 可定制react18 input otp 一次性密碼輸入組件

    可定制react18 input otp 一次性密碼輸入組件

    這篇文章主要為大家介紹了可定制react18 input otp 一次性密碼輸入組件,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-10-10
  • React DOM-diff 節(jié)點源碼解析

    React DOM-diff 節(jié)點源碼解析

    這篇文章主要為大家介紹了React DOM-diff節(jié)點源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • 淺談react-router@4.0 使用方法和源碼分析

    淺談react-router@4.0 使用方法和源碼分析

    這篇文章主要介紹了淺談react-router@4.0 使用方法和源碼分析,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-06-06
  • Next.js實現(xiàn)react服務器端渲染的方法示例

    Next.js實現(xiàn)react服務器端渲染的方法示例

    這篇文章主要介紹了Next.js實現(xiàn)react服務器端渲染的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • react.js 獲取真實的DOM節(jié)點實例(必看)

    react.js 獲取真實的DOM節(jié)點實例(必看)

    下面小編就為大家?guī)硪黄猺eact.js 獲取真實的DOM節(jié)點實例(必看)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04
  • react ant-design Select組件下拉框map不顯示的解決

    react ant-design Select組件下拉框map不顯示的解決

    這篇文章主要介紹了react ant-design Select組件下拉框map不顯示的解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • react反向代理使用http-proxy-middleware問題

    react反向代理使用http-proxy-middleware問題

    這篇文章主要介紹了react反向代理使用http-proxy-middleware問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • React父子組件間的傳值的方法

    React父子組件間的傳值的方法

    在單頁面里面,父子組件傳值是比較常見的,這篇文章主要介紹了React父子組件間的傳值的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11
  • React 遠程動態(tài)組件實踐示例詳解

    React 遠程動態(tài)組件實踐示例詳解

    這篇文章主要為大家介紹了React 遠程動態(tài)組件實踐示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03

最新評論

监利县| 寻乌县| 浙江省| 枣庄市| 十堰市| 西宁市| 汤原县| 札达县| 蕲春县| 烟台市| 海门市| 鹤岗市| 怀仁县| 化德县| 德令哈市| 无锡市| 长泰县| 谢通门县| 东乡| 临夏县| 翁牛特旗| 翁源县| 杂多县| 基隆市| 曲周县| 凌海市| 高陵县| 文昌市| 梁河县| 洛浦县| 准格尔旗| 三河市| 嘉黎县| 宁夏| 西乌| 渭南市| 龙游县| 迁安市| 丹阳市| 二手房| 城市|