React动态更改html标签的实现方式

目录
  • 如何动态更改html标签
    • Vue的实现方式
    • React的实现方式
  • React修改标签页名
    • 方法

如何动态更改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改为自己想要的名字即可

如果要修改图标,同样在该文件中查找相关的标签进行更改。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • React项目动态设置title标题的方法示例

    在React搭建的SPA项目中页面的title是直接写在入口index.html中,当路由在切换不用页面时,title是不会动态变化的.那么怎么让title随着路由的切换动态变化呢? 1.在定义路由时增加title属性. { path: "/regularinvestment", component: Loadable({ loader: () => import('./../../business/Regularinvestment/index'), loading: Page

  • 如何去除富文本中的html标签及vue、react、微信小程序中的过滤器

    在获取富文本后,又只要显示部分内容,需要去除富文本标签,然后再截取其中一部分内容:然后就是过滤器,在微信小程序中使用还是挺多次的,在vue及react中也遇到过 1.富文本去除html标签 去除html标签及 空格 let richText = ' <p style="font-size: 25px;color: white">       sdaflsjf的丰富及饿哦塞尔</p><span>dsfjlie</span>'; /* 去除富

  • React html中使用react的两种方式

    基本使用 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>hello</title> </head>

  • React动态更改html标签的实现方式

    目录 如何动态更改html标签 Vue的实现方式 React的实现方式 React修改标签页名 方法 如何动态更改html标签 比如有这样的一个需求,子组件通过父组件传递过来的props,来动态显示<h1>到<h6>标签,可以先不管react,考虑下vue如何实现呢? Vue的实现方式 父组件 <template>     <div>         <Son :tagSize="1"/>     </div> &

  • 关于React动态修改元素样式的三种方式

    目录 React动态修改元素样式 1.借助ref动态修改样式 2.通过动态控制状态的变化修改元素的样式(两种方式) 3.通过在DOM中使用JS代码(三元运算符) React样式冲突问题 css-样式私有化 cssModules-维持类名 css modules-最佳实践 React动态修改元素样式 React动态修改元素样式常用的方式有两种:借助ref和通过动态控制状态的变化修改元素的样式 1.借助ref动态修改样式 在需要修改样式的元素上添加ref <div className='scroll

  • vuejs实现标签选项卡动态更改css样式的方法

    html <ul class="header-list"> <li v-cloak v-for="(item,index) in headerList" v-on:click="selectMainTheme(index)"><a href="java:;" rel="external nofollow" :class="{'active':idx == index}

  • 浅谈react路由传参的几种方式

    第一种传参方式,动态路由传参 通过设置link的path属性,进行路由的传参,当点击link标签的时候,会在上方的url地址中显示传递的整个url <Link to='/home?name=dx'>首页</Link> 如果想真正获取到传递过来的参数,需要在对应的子组件中 this.props.location.search 获取字符串,再手动解析 因为传参能够被用户看见,传递获取比较麻烦,所以不推荐 第二种传参方式,隐式路由传参 <Link to={{ pathname: '

  • 动态更改网页HTML元素(对象)内容

    动态HTML的出现为用户提供了一种基于传统标准HTML来创建交互式页面的机制.本文主要针对IE 5.0谈谈如何通过其提供的HTML文档对象(DOM)模型使用脚本添加.删除.修改页面中的HTML元素(对象)及元素(对象)内容. 动态更改网页HTML元素(对象)内容 HTML块级元素(对象)提供的4个可读写属性innerHTML.innerText. outerHTML.outerText来更改元素(对象)内容(如表1所示). 当设置innerHTML属性时,给定字符串完全替换现有的元素(对象)内容

  • vue 动态修改a标签的样式的方法

    公司要做一个类似今日头条的项目,用前后端分离的方式做成HTML5页面,先在微信中运行,领导说想看看效果怎么样.今日头条头部的导航是可以滚动和添加类别的,我们这个项目也是一样.所以在导航这个地方就需要在点击不同分类的同时,样式也是跟着变的,我在网上搜索了一下,发现了下面的代码,简洁清淅,不过具体网址忘记了,先把代码贴出来给大家看一下,想知道网址的可以去网上搜索一下. <!DOCTYPE html> <html lang="en"> <head> <

  • jQuery实现获取动态添加的标签对象示例

    本文实例讲述了jQuery实现获取动态添加的标签对象.分享给大家供大家参考,具体如下: jquery无法直接给网页里面动态添加点击事件,并且获取到对象 一般来说,js获取动态添加的组件都是自定义给标签添加上onclick属性来达到调用,这是普通的方法,如下: onclick方式获取 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <ti

  • jquery 给动态生成的标签绑定事件的几种方法总结

    经常遇到给动态生成的标签绑定事件不好用,自己简单测试总结了下,结论如下了: <body> <!-- 下面是用纯动态方式生成标签 --> <div id="d2"> 生成a标签 </div> <div id="d3"> <input type="button" value="生成a标签" id="btn" /> </div>

  • SpringBoot EasyPoi动态导入导出的两种方式实现方法详解

    目录 前言 一.基于@Excel的 isColumnHidden 属性 1.1 实现原理 1.2 实现步骤 1.3 实现效果 二. 基于List< ExcelExportEntity > 的导出 实现效果 总结 前言 一开始为了图方便,使用的是土方法,即创建多个不同的实体类,每个实体类对应不同的列.这样虽说能实现,但实在不想多复制实体类,把代码堆的和shi山一样.于是查看官方文档,里面确实提供了更加优雅的实现方式.废话不多说,开整. 一.基于@Excel的 isColumnHidden 属性

  • JavaScript获取并更改input标签name属性的方法

    本文实例讲述了JavaScript获取并更改input标签name属性的方法.分享给大家供大家参考.具体实现方法如下: <input name="kk"></input> <script language="javascript"> // 这里用getElementsByTagName把所有的input对象取出来, //这是这个问题的关键性的地方,用ByTagName而不是ByName. var list = document.g

随机推荐