react-photo-view 的介绍、安装、使用。

文章介绍了React-photo-view,一个轻量级的React组件,用于在网页上提供流畅的图片浏览体验。它支持多点触控、自适应布局、定制预览和API使用。详述了安装步骤和关键属性,适合React项目集成。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

基本介绍

安装 

使用 


基本介绍

react-photo-view 是一个基于 React 的图片查看器组件,用于在网页上展示和浏览图片。该组件提供了用户友好的界面和交互,可以轻松地在应用程序中集成并使用。 

  • 支持触摸手势,拖动/平移/物理效果滑动,双指指定位置放大/缩小
  • 全方面动画衔接,打开/关闭/回弹/触边,顺其自然的交互效果
  • 图像自适应,以一个合适的最初呈现大小,并根据调整自适应
  • 支持自定义如 <video /> 或任意 HTML 元素的预览
  • 键盘导航,完美适配桌面端
  • 支持自定义节点扩展,轻松实现全屏预览、旋转控制、图片介绍以及更多功能
  • 基于 typescript7KB Gzipped,支持服务端渲染
  • 简单易用的 API,上手零成本

安装 

在 React 项目目录运行以下命令:

pnpm:

pnpm i react-photo-view

yarn:

yarn add react-photo-view

或者用 npm:

npm install react-photo-view

使用 

//引入组件
import { PhotoProvider, PhotoView } from 'react-photo-view';

//引入css
import 'react-photo-view/dist/react-photo-view.css';

//使用

<PhotoProvider>
 <PhotoView src="/img/homepage/sourcecode/source_code_check.png">
  <img src="/img/homepage/sourcecode/source_code_check.png" />
 </PhotoView>
</PhotoProvider>

一些常用的PhotoView的相关属性 。

NameDescriptionTypeDefault Value
src图片地址string
render自定义渲染,优先级比 src 低(props: PhotoRenderParams) => React.ReactNode
overlay图片覆盖物React.ReactNode
width自定义渲染节点宽度number
height自定义渲染节点高度number
children子节点,一般为缩略图React.ReactElement
triggers触发打开图片的方式Array<"onClick" | "onDoubleClick">["onClick"]

其他的例如,添加过渡动画,自定义工具栏,长图模式等更多功能请参阅官方文档。

官方文档:

https://react-photo-view.vercel.app/docs/getting-startedicon-default.png?t=N7T8https://react-photo-view.vercel.app/docs/getting-started Github:
GitHub - MinJieLiu/react-photo-view: An exquisite React photo preview component.An exquisite React photo preview component. Contribute to MinJieLiu/react-photo-view development by creating an account on GitHub.icon-default.png?t=N7T8https://github.com/MinJieLiu/react-photo-viewNPMJS:

react-photo-view - npmAn exquisite React photo preview component. Latest version: 1.2.3, last published: a year ago. Start using react-photo-view in your project by running `npm i react-photo-view`. There are 65 other projects in the npm registry using react-photo-view.icon-default.png?t=N7T8https://www.npmjs.com/package/react-photo-view

### 轻量级 React 图片查看库推荐 对于寻找轻量级的 React 图片查看库的需求,可以考虑以下几个替代方案: #### 1. **react-image-gallery** `react-image-gallery` 是一个功能强大的图片画廊组件,支持缩放、全屏显示以及自定义样式等功能。它不仅提供了良好的用户体验,还保持了较小的包大小[^1]。 ```javascript import ImageGallery from 'react-image-gallery'; const images = [ { original: 'https://example.com/image1.jpg', thumbnail: 'https://example.com/thumbnail1.jpg' }, { original: 'https://example.com/image2.jpg', thumbnail: 'https://example.com/thumbnail2.jpg' } ]; function App() { return <ImageGallery items={images} />; } ``` #### 2. **photo-zoom-pro-react** 这是一个专注于图片放大效果的轻量级库,适合用于展示高分辨率图像并提供平滑的缩放体验。它的设计简洁,易于集成到现有项目中[^2]。 ```javascript import PhotoZoomProReact from "photo-zoom-pro-react"; function App() { const imageSrc = "https://example.com/high-res-image.jpg"; return ( <PhotoZoomProReact src={imageSrc} /> ); } ``` #### 3. **react-lightbox** `react-lightbox` 提供了一个简单而优雅的方式来实现图片弹窗预览功能。该库体积小巧,性能优越,并且允许开发者轻松定制其外观和行为[^3]。 ```javascript import Lightbox from 'reactlightbox'; import 'reactlightbox/style.css'; function App() { const images = ['https://example.com/image1.jpg', 'https://example.com/image2.jpg']; return ( <> {images.map((src, index) => ( <img key={index} onClick={() => this.setState({isOpen: true, currentImage: index})} src={src} alt="" width="100"/> ))} <Lightbox isOpen={this.state.isOpen} onClose={() => this.setState({isOpen: false})} currentImage={this.state.currentImage} images={images.map(src => ({original: src}))} /> </> ); } ``` 以上三个选项均能满足对轻量化的要求,同时具备一定的灵活性以适应不同的应用场景需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大聪明码农徐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值