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

 更新时间:2022年12月02日 09:39:26   作者:叉叉酱  
这篇文章主要介绍了React动态更改html标签的实现方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

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

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

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

相关文章

  • React项目中hook实现展示对话框功能

    React项目中hook实现展示对话框功能

    Modal(模态框)是 web 开发中十分常见的组件,即从页面中弹出的对话框,下面这篇文章主要给大家介绍了关于React项目中hook实现展示对话框功能的相关资料,需要的朋友可以参考下
    2022-05-05
  • React中使用Workbox进行预缓存的实现代码

    React中使用Workbox进行预缓存的实现代码

    Workbox是Google Chrome团队推出的一套 PWA 的解决方案,这套解决方案当中包含了核心库和构建工具,因此我们可以利用Workbox实现Service Worker的快速开发,本文小编给大家介绍了React中使用Workbox进行预缓存的实现,需要的朋友可以参考下
    2023-11-11
  • React的生命周期详解

    React的生命周期详解

    React是用于构建用户界面的JavaScript库。本文详细讲解了React的生命周期,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • react性能优化达到最大化的方法 immutable.js使用的必要性

    react性能优化达到最大化的方法 immutable.js使用的必要性

    这篇文章主要为大家详细介绍了react性能优化达到最大化的方法,一步一步优化react性能的过程,告诉大家使用immutable.js的必要性,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • React videojs 实现自定义组件(视频画质/清晰度切换) 的操作代码

    React videojs 实现自定义组件(视频画质/清晰度切换) 的操作代码

    最近使用videojs作为视频处理第三方库,用来对接m3u8视频类型,这里总结一下自定义组件遇到的问题及实现,感兴趣的朋友跟随小编一起看看吧
    2023-08-08
  • 重新理解 React useRef原理

    重新理解 React useRef原理

    这篇文章主要为大家介绍了React useRef原理的深入理解分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • React组件对子组件children进行加强的方法

    React组件对子组件children进行加强的方法

    这篇文章主要给大家介绍了关于React组件中对子组件children进行加强的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用React具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06
  • React构建组件的几种方式及区别

    React构建组件的几种方式及区别

    这篇文章主要介绍了React构建组件的几种方式及区别,组件就是把图形、非图形的各种逻辑均抽象为一个统一的概念来实现开发的模式文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下
    2022-08-08
  • ahooks解决用户多次提交方法示例

    ahooks解决用户多次提交方法示例

    这篇文章主要为大家介绍了ahooks解决用户多次提交的方法示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • ReactiveCocoa代码实践之-UI组件的RAC信号操作

    ReactiveCocoa代码实践之-UI组件的RAC信号操作

    这篇文章主要介绍了ReactiveCocoa代码实践之-UI组件的RAC信号操作 的相关资料,需要的朋友可以参考下
    2016-04-04

最新评论