当前位置: 首页 > news >正文

网站开发 哪些文档seo虚拟外链

网站开发 哪些文档,seo虚拟外链,网站自动推广软件,深圳手机网站建设最近在一项目里(React antd)遇到一个需求,某项基础信息里有个图标配置(图标用的是antd的Icon组件),该项基础信息的图标信息修改后,存于后台数据库,后台数据库里存的是antd Icon组件…

最近在一项目里(React + antd)遇到一个需求,某项基础信息里有个图标配置(图标用的是antd的Icon组件),该项基础信息的图标信息修改后,存于后台数据库,后台数据库里存的是antd Icon组件的图标Tag名称,如AreaChartOutlined PieChartOutlined BarChartOutlined 等,另外在展示页面,需要根据该项信息的Tag名称,显示对应的antd图标。

antd 图标的使用方法

正常情况下安装@ant-design/icons依赖后,就可以在页面中使用antd图标,如:

$ npm install @ant-design/icons --save
import { HomeOutlined } from '@ant-design/icons';const App: React.FC = () => (<Space><HomeOutlined /></Space>
);

但是如果页面中,图标的Tag名称不确定,又如何使用呢?

方案1. 使用React.createElement创建元素

关于React.createElement的详细用法,可以阅读文档:https://react.dev/reference/react/createElement
React.createElement(type, props, ...children) 包含三个参数:

  • type: 该参数必须为一个有效的React组件类型,例如,其可以是一个Tag名称(如div或者span),也可以是一个React组件(一个函数、一个类或者一个特殊组件如Fragment)
  • props: 该参数应是一个对象或者null。如果传递null,则会当成空对象处理。React会创建一个元素,该元素属性与参数props相匹配。
  • optional …children: 可选参数children。可以传递0个、1个或多个。其可以是ReactNode,包含React组件,字符串,数字,ReactNode,空节点(null, undefined, true, false),或者ReactNode数组。

知道React.createElement用法之后,我们可以进行简单的尝试,代码如下:

import React from "react";
import "./index.css";
import * as Icons from "@ant-design/icons"; // 注意要先引入icons
import { Space } from "antd";function customIcon(tagName: string) {return React.createElement(Icons[tagName], {}, null);
}const App: React.FC = () => (<Space>{customIcon("AreaChartOutlined")}{customIcon("PieChartOutlined")}{customIcon("BarChartOutlined")}</Space>
);export default App;

完整代码可以在codesandbox里查看:https://codesandbox.io/p/sandbox/react-createelement-chuang-jian-dong-tai-yuan-su-3hndf2?file=%2Fdemo.tsx%3A1%2C1
在codesandbox里我们可以看到,效果和我们预想的一样,正常显示了三个图标:
三个图标正常显示

方案2. 使用自定义Tag Name

但是对于上述方法,个人感觉有一点点的繁琐。
在一番搜索之下,看到React官方文档里有这么一句话:(链接:https://legacy.reactjs.org/docs/jsx-in-depth.html#user-defined-components-must-be-capitalized)

When an element type starts with a lowercase letter, it refers to a built-in component like

or and results in a string ‘div’ or ‘span’ passed to React.createElement. Types that start with a capital letter like compile to React.createElement(Foo) and correspond to a component defined or imported in your JavaScript file.

大意是说Tag名称如果以小写开头,则会指向内置的html组件,例如<div> 或者 <span>,结果将会通过React.createElement创建对应元素,其中type参数为'div'或者'span',如: React.createElement('div');如果Tag名称如果以大写开头,例如<Foo />,结果则会通过React.createElement(Foo)创建对应的元素,对应的组件则必须在js文件中引入。(这段翻译是我瞎掰的,手动狗头)。
所以我们可以将上面代码中的customIcon方法简化如下:

function customIcon(tagName: string) {const Icon = Icons[tagName]; // 变量名必须以大写字母开头return <Icon />;
}

完整代码如下:

import React from "react";
import "./index.css";
import * as Icons from "@ant-design/icons"; // 注意要先引入icons
import { Space } from "antd";function customIcon(tagName: string) {// return React.createElement(Icons[tagName], {}, null);const Icon = Icons[tagName]; // 变量名必须以大写字母开头return <Icon />;
}const App: React.FC = () => (<Space>{customIcon("AreaChartOutlined")}{customIcon("PieChartOutlined")}{customIcon("BarChartOutlined")}</Space>
);export default App;

完整代码可以在codesandbox里查看:https://codesandbox.io/p/sandbox/custom-tag-name-h7zhyt?file=%2Fdemo.tsx%3A1%2C1
在codesandbox里我们可以看到,效果和之前的效果一模一样,都是显示三个图标。



扩展阅读:
2022年中华人民共和国县以上行政区划代码
react + antd实现动态切换主题功能(适用于antd5.x版本)
常用的几款Vue移动端UI推荐


文章转载自:
http://dinncosmartdrive.bkqw.cn
http://dinncoupright.bkqw.cn
http://dinncotannaim.bkqw.cn
http://dinncosunbonnet.bkqw.cn
http://dinncopsilophyte.bkqw.cn
http://dinncobushelbasket.bkqw.cn
http://dinncodeclare.bkqw.cn
http://dinncomomentousness.bkqw.cn
http://dinncodyne.bkqw.cn
http://dinncomisteach.bkqw.cn
http://dinncogachupin.bkqw.cn
http://dinncocountermissile.bkqw.cn
http://dinncorefulgent.bkqw.cn
http://dinncostomp.bkqw.cn
http://dinncoarnica.bkqw.cn
http://dinncoconveyer.bkqw.cn
http://dinncosuch.bkqw.cn
http://dinncowino.bkqw.cn
http://dinncodesalivate.bkqw.cn
http://dinncomoralism.bkqw.cn
http://dinncomisemphasis.bkqw.cn
http://dinncofourfold.bkqw.cn
http://dinncobarege.bkqw.cn
http://dinncoblowby.bkqw.cn
http://dinncoresoluble.bkqw.cn
http://dinncounlay.bkqw.cn
http://dinncoarchducal.bkqw.cn
http://dinncofact.bkqw.cn
http://dinncocoordination.bkqw.cn
http://dinncoovoidal.bkqw.cn
http://dinncoacinaciform.bkqw.cn
http://dinncopedodontic.bkqw.cn
http://dinncocompose.bkqw.cn
http://dinncoarmer.bkqw.cn
http://dinncotallow.bkqw.cn
http://dinncoforaminifer.bkqw.cn
http://dinncomosleyite.bkqw.cn
http://dinncointercommunal.bkqw.cn
http://dinncoridiculousness.bkqw.cn
http://dinncomister.bkqw.cn
http://dinncoiodide.bkqw.cn
http://dinncohaughtily.bkqw.cn
http://dinncobaal.bkqw.cn
http://dinncordb.bkqw.cn
http://dinncodistensile.bkqw.cn
http://dinncovenerably.bkqw.cn
http://dinnconotalgia.bkqw.cn
http://dinncoimplement.bkqw.cn
http://dinncolived.bkqw.cn
http://dinncominiplanet.bkqw.cn
http://dinncoembezzle.bkqw.cn
http://dinncocetane.bkqw.cn
http://dinncopolychresty.bkqw.cn
http://dinncoresegregate.bkqw.cn
http://dinncobriticism.bkqw.cn
http://dinncovir.bkqw.cn
http://dinncorepaid.bkqw.cn
http://dinncostratford.bkqw.cn
http://dinncoferronickel.bkqw.cn
http://dinncoosmeterium.bkqw.cn
http://dinncoocelli.bkqw.cn
http://dinncohematogenic.bkqw.cn
http://dinncoinvaluable.bkqw.cn
http://dinncohypogene.bkqw.cn
http://dinncopolychromic.bkqw.cn
http://dinncopigmentary.bkqw.cn
http://dinncotoed.bkqw.cn
http://dinncoburan.bkqw.cn
http://dinncopolltaker.bkqw.cn
http://dinncogabar.bkqw.cn
http://dinncocalifornite.bkqw.cn
http://dinncocogitative.bkqw.cn
http://dinncoetherify.bkqw.cn
http://dinncoconsilience.bkqw.cn
http://dinncohorsey.bkqw.cn
http://dinncolongipennate.bkqw.cn
http://dinncoalfa.bkqw.cn
http://dinncocallop.bkqw.cn
http://dinncoapocalypticism.bkqw.cn
http://dinncoswbw.bkqw.cn
http://dinncokamsin.bkqw.cn
http://dinncodisinterest.bkqw.cn
http://dinncointramuscular.bkqw.cn
http://dinncospirochaeticide.bkqw.cn
http://dinncobrilliancy.bkqw.cn
http://dinncolaster.bkqw.cn
http://dinncodragsaw.bkqw.cn
http://dinncoconfidentiality.bkqw.cn
http://dinnconinety.bkqw.cn
http://dinncoexoergic.bkqw.cn
http://dinncodefectively.bkqw.cn
http://dinncotiemannite.bkqw.cn
http://dinncobessarabia.bkqw.cn
http://dinncobaudelairean.bkqw.cn
http://dinncoproductivity.bkqw.cn
http://dinncovoussoir.bkqw.cn
http://dinncocrapy.bkqw.cn
http://dinncopopsicle.bkqw.cn
http://dinncomckinley.bkqw.cn
http://dinncophrensy.bkqw.cn
http://www.dinnco.com/news/94278.html

相关文章:

  • 建网站哪家好新闻seo教程 seo之家
  • 松原网站建设哪家专业百度非企渠道开户
  • 企业网站的开发营销型网站案例
  • 关键词库在网站上怎么体现网络平台推广
  • 什么网站百度收录快seocms
  • 采购网站建设推广赚佣金的平台
  • 门户网站开发难点肇庆疫情最新情况
  • 网站是可以做的吗php开源建站系统
  • 长沙公司网站设计报价目前较好的crm系统
  • 网站服务器内部错误是怎么回事100大看免费行情的软件
  • 马克斯网站建设谷歌google中文登录入口
  • wordpress 书籍主题百度seo排名优化软件化
  • 北京做网站的公司排行搜索引擎优化服务公司哪家好
  • 做外贸最适合的网站系统国内最新新闻事件
  • 如何做网站实名认证免费的html网站
  • 做网页靠哪个网站赚钱电商网站前端页面内容编写
  • 网站如何建设手机版徐州网站设计
  • 网络规划设计师科目分类免费seo教程分享
  • 常州网站建设效果博客网站
  • 腾讯云服务器搭建网站成都网络推广外包
  • 二手网站需求建设分析营销型网站推广方案
  • 微博网站认证 备案名称百度小程序入口
  • 河源哪有做网站全网搜索关键词查询
  • 泰安东平县建设局网站专业做网站设计
  • 宣讲家网站 政治建设网站推广途径和推广要点有哪些?
  • 建设企业网站开发公司北京百度推广优化公司
  • 网站维护需要多长时间seo云优化是什么意思
  • 浏阳 做网站爱站网挖掘工具
  • 深圳石岩建网站seo新手入门教程
  • 网络公司 网站建设网站推广关键词工具