日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

React動態更改html標簽的實現方式_React

作者:叉叉醬 ? 更新時間: 2022-12-29 編程語言

如何動態更改html標簽

比如有這樣的一個需求,子組件通過父組件傳遞過來的props,來動態顯示<h1>到<h6>標簽,可以先不管react,考慮下vue如何實現呢?

Vue的實現方式

父組件

<template>
?? ?<div>
?? ??? ?<Son :tagSize="1"/>
?? ?</div>
</template>

<script>
import Son from '../components/Son';
export default {
? ? name: "Father",
? ? components:{
? ? ? ? Son
? ? }
};
</script>

子組件

<template>
?? ?<div>
? ? ? ? <h1 v-if="tagSize === 1">測試</h1>
? ? ? ? <h2 v-else-if="tagSize === 2">測試</h2>
? ? ? ? <h3 v-else-if="tagSize === 3">測試</h3>
? ? ? ? <h4 v-else-if="tagSize === 4">測試</h4>
? ? ? ? <h5 v-else-if="tagSize === 5">測試</h5>
? ? ? ? <h6 v-else>測試</h6>
?? ?</div>
</template>

<script>
export default {
?? ?name: "Son",
?? ?props: {
?? ??? ?tagSize: {
? ? ? ? ? ? type:Number,
? ? ? ? ? ? default:1
? ? ? ? }
?? ?}
};
</script>

用vue的模板語法我們也是可以實現以上的需求,但是因為不能動態html標簽顯得不是很靈活,可以想象下,如果可以修改標簽,直接通過標簽拼接的方式

舉例"<h"+tagSize+">測試</h"+tagSize+">"的方式,以這種方式來處理這種需求的話明顯非常方便,廢話不多說,來看看react的實現方式。

React的實現方式

父組件

import React from 'react';
import Child from './Child.js';

class Father extends React.Component{
? ? render(){
? ? ? ? return (
? ? ? ? ? ? <React.Fragment>
? ? ? ? ? ? ? ? <Child size = { 1 }/>
? ? ? ? ? ? </React.Fragment>
? ? ? ? )
? ? }
}
export default Father;

子組件

import React from 'react';

const Child = (props)=>{
? ? let MarkUp = `h${props.size}`;
? ? return (
? ? ? ? <React.Fragment>
? ? ? ? ? ? <MarkUp>你好</MarkUp>
? ? ? ? </React.Fragment>
? ? )
}

export default Child;

相比較兩種方式會發現react實現這類需求會更合適,react語法采用JSX語法,個人感覺語法比vue的template模板語法更加靈活,不過Vue現在也已經支持JSX。

React修改標簽頁名

React默認打開的標簽頁名為React App,那么我們如何根據我們的項目來全局更改標簽頁名呢?

方法

找到項目中的public文件夾,再找到下面的index.html文件,修改其中的

<title>React App</title>

將其中的React App改為自己想要的名字即可

如果要修改圖標,同樣在該文件中查找相關的標簽進行更改。

原文鏈接:https://blog.csdn.net/weixin_39782183/article/details/104751431

欄目分類
最近更新