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

国产做网站腾讯朋友圈广告投放价格

国产做网站,腾讯朋友圈广告投放价格,河口区建设工程招标网站,纯ipv6网站测试文章目录 前言Qrcode组件1. 功能分析2. 代码详细注释3. 使用方式4. 效果展示(pc端 / 移动端) 总结 前言 今天要封装的Qrcode 组件,是通过传入的信息,绘制在二维码上,可用于很多场景,如区块链项目中的区块显示交易地址时就可以用到…

文章目录

  • 前言
  • Qrcode组件
    • 1. 功能分析
    • 2. 代码+详细注释
    • 3. 使用方式
    • 4. 效果展示(pc端 / 移动端)
  • 总结


前言

今天要封装的Qrcode 组件,是通过传入的信息,绘制在二维码上,可用于很多场景,如区块链项目中的区块显示交易地址时就可以用到。

Qrcode组件

1. 功能分析

(1)通过传入text属性,表示要绘制的信息
(2)使用useEffect,监听数据,当发生变化时重新绘制二维码
(3)支持传入 className 自定义类名来修改样式

2. 代码+详细注释

// @/components/Qrcode/index.tsx
import { useEffect, useRef, FC } from "react";
import QRCode from "qrcode";
import { ReactComponent as QrCodeIcon } from "./assets/qrcode.svg";
import { QrcodeContainer } from "./styled";
import classNames from "classnames";// 组件的属性类型
type Props = {text: string; // 要绘制的二维码内容className?: string; // 自定义的类名
};const Qrcode: FC<Props> = ({ text, className }) => {const qrRef = useRef<HTMLCanvasElement | null>(null);useEffect(() => {// 获取canvas元素refconst cvs = qrRef.current;// 如果没有 canvas 元素的引用,则直接返回if (!cvs) return;// 调用 QRCode.toCanvas 方法,将text绘制到canvas上QRCode.toCanvas(cvs,text,{margin: 5, // 设置二维码周围的边距errorCorrectionLevel: "H", // 设置二维码的容错级别width: 144, // 设置二维码的宽度},(err) => {if (err) {console.error(err);}});}, [qrRef, text]); // 监听qrRef和text,当发生变化时重新绘制二维码return (<QrcodeContainer className={classNames(className)}><label><QrCodeIcon /></label><canvas ref={qrRef} className={classNames("qrcode")} /></QrcodeContainer>);
};export default Qrcode;
------------------------------------------------------------------------------
// @/components/Qrcode/styled.tsx
import styled from "styled-components";
import variables from "@/styles/variables.module.scss";
export const QrcodeContainer = styled.div`width: 100%;position: relative;cursor: pointer;label {display: flex;align-items: center;cursor: pointer;}.qrcode {top: calc(100% + 10px);box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);}&::after {top: calc(100% - 15px);content: "";width: 5px;height: 5px;border: 10px solid transparent;border-bottom: 10px solid #fff;filter: drop-shadow(0 -5px 5px rgb(0, 0, 0, 0.1));}.qrcode,&::after {display: none;position: absolute;left: 50%;transform: translateX(-50%);}&:hover,&:focus-within {.qrcode,&::after {display: block;}}@media (max-width: ${variables.mobileBreakPoint}) {.qrcode,&::after {left: 0;}}
`;

3. 使用方式

// 引入组件
import Qrcode from "@/components/Qrcode";
// 使用
const address = "http://test-address?block=XXXX"
<Qrcode text={ address } />

4. 效果展示(pc端 / 移动端)

在这里插入图片描述
在这里插入图片描述


总结

下一篇讲【全局常用组件Echarts封装】。关注本栏目,将实时更新。

http://www.hrbkazy.com/news/28599.html

相关文章:

  • 做视频能赚钱的网站seo视频教程百度云
  • 网站建设合同编号培训平台
  • 高新区手机网站建设百度正版下载并安装
  • 运城网站建设公司有多少钱推广信息哪个平台好
  • 建网站需要什么手续长沙seo 优化选智投未来no1
  • ps怎么做响应式网站布局图营销推广活动策划方案
  • 互联网建网站百度推广计划
  • 深圳福田区住房和建设局官方网站站长工具四叶草
  • 日本网站空间饥饿营销的十大案例
  • 网站管理 上传模板南昌seo推广公司
  • 怎么得到wordpress文章加图片网站建设优化公司
  • 网站源码是用什么做的百度关键词搜索排行
  • 做网站的是什么基本seo
  • 国家商标注册官网查询系统网站搜索引擎优化方法
  • 怎么给网站做百度坐标定位网络营销策划书5000字
  • 泉州网站建设电话微信推广链接怎么制作
  • 做资讯类网站需要什么资质成全在线观看免费高清动漫
  • 网站建设有名的公司中央电视台一套广告价目表
  • 购物网站建设网络营销师证书查询
  • 想找人帮我做网站营销推广渠道有哪些
  • 营销的网站营销软文模板
  • 泰安房产网签成交数据百度搜索seo优化技巧
  • 万网建站教程西安网站开发制作公司
  • icp许可证查询系统seo到底是做什么的
  • 免费申请空间网站精准营销的案例
  • 石家庄营销型网站制作最全bt搜索引擎入口
  • 宜兴做网站公司网站优化排名技巧
  • 拉萨市住房与城乡建设局官方网站产品宣传推广策划
  • 外贸网站seo推广网络舆情应急预案
  • 建设银行网站首页是多少青岛网络优化费用