項目中經(jīng)常需要點擊一張圖片或者一組圖片來查看大圖移動端react長按事件,在iOS端通常是用大名鼎鼎的 ,在React 也有同樣的第三方庫,
下面簡單介紹下react--photo-的使用
一:安裝第三方庫
npm install react-native-photo-browser --save
二:新建一個.js
便于在程序多個地方使用,這里用一個頁面組件來封裝,使用方式是通過react-來管理頁面,有3個地方要注意
import PhotoBrowser from 'react-native-photo-browser';
import React, { Component } from 'react';
class PhotoBrowserScene extends Component {
static navigationOptions = {

//1.隱藏導航頭部
header: null,
};
_goBack = () => {
//2.點擊返回關(guān)閉頁面
this.props.navigation.goBack()
}
render() {
//3.獲取傳入的圖片等信息
const { params } = this.props.navigation.state;
const media = params.media

const index = 0
return (
);
}

}
export default PhotoBrowserScene;
三:添加到導航配置中
const RNForum = StackNavigator(
{
Web: { screen: WebViewPage },
Login: { screen: LoginScene },
Photo: {screen: PhotoBrowserScene}
}
...

)
四:在頁面中用調(diào)用并傳遞參數(shù)
renderCell = (info: Object ) => {
return
}
onPress = (info) => {
// 需顯示的圖片列表
let media = [{
photo: info.img_urls_1,
}, {

photo: info.img_urls_2
}]
const { navigate } = this.props.navigation
navigate('Photo', {media:media, index:0})
}
五:效果如下
查看大圖.gif
備注:
實際中如果需要去掉返回按鈕的"Back"文字,或者自定義底部操作欄等移動端react長按事件,可以直接修改對應的js文件來實現(xiàn),但這種方式太粗暴了,應該有更優(yōu)的方案來第三方庫進一步定制?
附上代碼Demo地址