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

专业网站建设平台网络营销工程师是做什么的

专业网站建设平台,网络营销工程师是做什么的,建筑工程有限公司招聘信息,做网站可以用什么软件1.js正则replaceAlldangerouslySetInnerHTML{{ __html: xxx }}危险属性 步骤最简单,但是是危险属性,不推荐使用,项目中实在没有头绪,可以使用它应急 通过useMemo计算得到新的状态值,赋值给dangerouslySetInnerHTML属性的__html 关键代码: const [state1, setState1] useSt…

1.js正则replaceAll+dangerouslySetInnerHTML={{ __html: xxx }}危险属性

步骤最简单,但是是危险属性,不推荐使用,项目中实在没有头绪,可以使用它应急

通过useMemo计算得到新的状态值,赋值给dangerouslySetInnerHTML属性的__html

关键代码:

const [state1, setState1] = useState('我爱中国,中国爱我')const updateState1 = useMemo(() => {return state1.replaceAll('中国', '<span style="color:red;">中国</span>')}, [state1])<div dangerouslySetInnerHTML={{ __html: updateState1 }}></div>

2.useMemo计算遍历后将关键字替换为React标签写法(内容为关键字),使用_.map渲染

(要不是replace不能转换为React标签,只支持字符串也不用这么麻烦)

关键代码:

const updateState2 = useMemo(() => {return highlightPassword(state2, '_.map_')}, [state2])function highlightPassword(str0: any, key_prefix?: string) {const password = '中国';const pattern = new RegExp(`\\B(?=((${password})+)+(?!(${password})))`, 'g')return str0.replace(pattern, '||||').split('||||').map((item, index) => {const idx = item.indexOf(password)return <span key={key_prefix + index}>{idx >= 0? <><span style={{ color: 'red' }}>{item.substring(0, password.length)}</span>{item.substring(password.length, item.length)}</>: item}</span>});}<p>map遍历children元素:</p>{_.map(updateState2, (child) => {return child})}

3.遍历后将关键字替换为React标签写法(内容为关键字),使用ReactDOM.render方法插入到指定元素中

关键代码:

const Test = () => {const [state2, setState2] = useState<any>('我爱中国,中国中国爱我')useEffect(() => {// 遍历将关键字换成react写法的标签,使用ReactDOM.render方法渲染到页面上const str = highlightPassword(state2, 'ReactDOM.render_')ReactDOM.render(<div>{str}</div>, document.getElementsByClassName('my-highlight-test')[0])}, [state2])function highlightPassword(str0: any, key_prefix?: string) {const password = '中国';const pattern = new RegExp(`\\B(?=((${password})+)+(?!(${password})))`, 'g')return str0.replace(pattern, '||||').split('||||').map((item, index) => {const idx = item.indexOf(password)return <span key={key_prefix + index}>{idx >= 0? <><span style={{ color: 'red' }}>{item.substring(0, password.length)}</span>{item.substring(password.length, item.length)}</>: item}</span>});}<p>ReactDOM.render方法:</p><div className="my-highlight-test"></div>

完整代码示例: 

import React, { useEffect, useMemo, useState } from 'react'
import ReactDOM from 'react-dom';
import _ from 'lodash';const Test = () => {const [password,] = useState('中国')const [state1, setState1] = useState('我爱中国,中国爱我')const [state2, setState2] = useState<any>('我爱中国,中国中国爱我')useEffect(() => {// 遍历将关键字换成react写法的标签,使用ReactDOM.render方法渲染到页面上const str = highlightPassword(state2, 'ReactDOM.render_')ReactDOM.render(<div>{str}</div>, document.getElementsByClassName('my-highlight-test')[0])}, [state2])const updateState1 = useMemo(() => {return state1.replaceAll(password, str => `<span style="color:red;">${str}</span>`)}, [state1])const updateState2 = useMemo(() => {return highlightPassword(state2, '_.map_')}, [state2])useEffect(() => {setTimeout(() => {setState1('哈哈哈,中国万岁,万岁万万岁,中国加油!')setState2('哈哈哈,中国中国万岁,万岁万万岁,中国中国加油!爱你中国!')}, 2000)}, [])function highlightPassword(str0: any, key_prefix?: string) {const pattern = new RegExp(`\\B(?=((${password})+)+(?!(${password})))`, 'g')return str0.replace(pattern, '||||').split('||||').map((item, index) => {const idx = item.indexOf(password)return <span key={key_prefix + index}>{idx >= 0? <><span style={{ color: 'red' }}>{item.substring(0, password.length)}</span>{item.substring(password.length, item.length)}</>: item}</span>});}return (<div><p>dangerouslySetInnerHTML方式:</p><div dangerouslySetInnerHTML={{ __html: updateState1 }}></div><p>map遍历children元素:</p>{_.map(updateState2, (child) => {return child})}<p>ReactDOM.render方法:</p><div className="my-highlight-test"></div></div>)
}export default Test

显示效果:

初始化页面时:

2cacd40d3968477585d8674b3ff964db.png

2s后(模拟异步请求数据)显示:

73bd463cfc634e0f894bd4114ae05331.png

http://www.tj-hxxt.cn/news/119697.html

相关文章:

  • 影响网站打开速度的因素品牌推广计划书怎么写
  • 邢台企业做网站的公司疫情最严重的三个省
  • 公司在网上做网站怎么做账网站广告接入
  • 专门做机器人的网站企业如何注册自己的网站
  • 网站设计大公司计算机基础培训机构
  • 做响应式网站多少钱视频广告
  • 网站建设忄金手指花总广州广告推广公司
  • 织梦网站更改主页链接怎么投放广告
  • 烟台高端网站建设江苏seo
  • 免费个人网站制作宁波网站推广公司有哪些
  • 网站是哪个公司做线上营销培训
  • 免费wap自助建站网站爱站网注册人查询
  • 世界服装鞋帽网免费做网站重庆网站seo公司
  • 做茶歇的网站网站cms
  • 绍兴柯桥哪里有做网站的福建seo外包
  • 深圳公司网站推广软文营销的技巧
  • 电子商务网站 方案端点seo博客
  • 如何做网站跳转页面下载一个百度时事新闻
  • 渭南网站建设远景苏州百度推广
  • 网站文风怎么制作网页里面的内容
  • 洞头区网站建设收费热门关键词查询
  • 南京安居建设集团网站石家庄网站关键词推广
  • wordpress fresh girl主题seo搜索引擎优化期末及答案
  • 照片网站怎么做电商是做什么的
  • 泰州企业做网站河南纯手工seo
  • 知名广州网站建设查询网站注册信息
  • 要做网站到哪里做网络营销方式
  • 宝安商城网站建设产品推广词
  • 手机商城软件下载班级优化大师官方免费下载
  • 有没有什么做统计的网站整合营销传播名词解释