最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用react-native-doc-viewer實現(xiàn)文檔預覽

 更新時間:2022年09月15日 10:08:24   作者:淡淡藍藍  
這篇文章主要介紹了使用react-native-doc-viewer實現(xiàn)文檔預覽,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

react-native-doc-viewer文檔預覽

react-native項目要求實現(xiàn)word,excel,pdf,mp4,png等格式附件圖片的在線預覽,最終選用react-native-doc-viewer實現(xiàn),

具體步驟如下

1、安裝react-native-doc-viewer

(1) npm install react-native-doc-viewer --save

(2) react-native link react-native-doc-viewer

2、修改源代碼

(1) 因為react-native-doc-viewer已經(jīng)很久沒有更新了,所以SdkVersion是23,比較低,將它修改成如下圖所示:

(2)找到下圖中左側(cè)的文件,將右側(cè)紅圈圈里面的代碼注釋掉

至此,所以安裝和配置完成,下面是寫代碼步驟

3、代碼實現(xiàn)

import OpenFile from 'react-native-doc-viewer';
//預覽附件
viewAttachment(attachment) {
   let fileTypeArr = ['xls', 'ppt', 'doc', 'xlsx', 'pptx', 'docx', 'png', 'jpg', 'pdf', 'mp4', 'txt'];
   if (fileTypeArr.indexOf(attachment.fileSuffix) >= 0) {
      if (Platform.OS === 'ios') {
         OpenFile.openDoc([{
            url: attachment.filePath,
            fileNameOptional: attachment.fileName
         }], (error, url) => {
            if (error) {
               console.log(error);
            } else {
               console.log(url)
            }
         })
      } else {
         OpenFile.openDoc([{
            url: attachment.filePath, 
            fileName: attachment.fileName,
            cache: false,
            fileType: attachment.fileSuffix
         }], (error, url) => {
            if (error) {
               console.error(error);
            } else {
               console.log(url)
            }
         });
      }
   } else {
      Toast.show('app端暫不支持此種格式附件預覽,請去pc端預覽');
   }
}

應用會打開手機上對應的第三方軟件,做預覽。 

react-native初體驗的總結(jié)

一、前提知識點

  • RN中文網(wǎng)鏈接 https://www.react-native.cn/docs/getting-started
  • html、JavaScript、css基礎(chǔ)
  • es6+等新的概念
  • react、redux相關(guān)知識
  • 如果需要用ts語法,還需要了解typescript相關(guān)知識點
  • 數(shù)據(jù)請求,官方中有推薦的,我這里選擇axios

二、開發(fā)前后相關(guān)的一些配置

react-native相關(guān)知識點可以參考官方文檔進行學習,總結(jié)了幾點基本的

  • RN開發(fā)需要的環(huán)境(mac,windows),參考官方文檔即可
  • RN開發(fā)利用相關(guān)腳手架初始化項目,參考官方文檔即可
  • RN打包需要用的簽名創(chuàng)建,及打包流程,參考官方文檔即可
  • RN開發(fā)過程中用到的模擬器(我這里用的mumu模擬器)
  • RN開發(fā)過程中用到的debugger工具(推薦使用react-native-debugger)

三、開發(fā)項目中用到的知識

學習的時候,我這里主要從以下幾方面進行學習的,列出的大部分是npm包名

  • 設(shè)置app啟動圖片 react-native-splash-screen
  • 頁面跳轉(zhuǎn) react-navigation 起到路由的作用
  • 數(shù)據(jù)存儲 @react-native-async-storage/async-storage
  • 嵌入web react-native-webview
  • 使用相機 react-native-camera
  • 掃描二維碼 react-native-qrcode-scanner
  • 文件上傳 react-native-document-picker react-native-doc-viewer
  • 圖片上傳 react-native-image-picker
  • 輪播圖 react-native-swiper
  • 背景漸變 react-native-linear-gradient
  • 頂部狀態(tài)欄 react-native 提供的組件 StatusBar
  • toast提示 react-native-root-toast,會用到 react-native-root-siblings
  • 手勢 react-native-gesture-handler
  • 高德地圖 react-native-amap3d

四、ui庫

五、項目搭建

官網(wǎng)中提供的初始化模板

npx react-native init projectName --template react-native-template-typescript

六、根據(jù)需要安裝對應依賴

建議加上npm進行依賴搜索,或者去npm官網(wǎng)搜索,eg: react-native-camera npm

因為我這里項目初始化的rn版本為0.63.4,所以大部分依賴都是直接link之后就可以正常使用的。

七、開發(fā)和調(diào)試

靜態(tài)頁面的開發(fā)其實跟web端一樣,組件的合理利用就行。會涉及一些交互

1.物理返回鍵

const handle = ()=>{
? ? // 響應事件處理
}
// 訂閱
BackHandler.addEventListener('hardwareBackPress', handle);
// 移除
BackHandler.removeEventListener('hardwareBackPress', handle);

2.跨頁面通信

const handle = (params)=>{
? ? // 響應事件處理
}
// 訂閱
DeviceEventEmitter.addListener('eventKey', handle);
// 移除
DeviceEventEmitter.removeListener('eventKey', handle);
// 觸發(fā)
DeviceEventEmitter.emit('eventKey', params);

3. formData文件上傳

圖片或者文件上傳的時候,需要關(guān)閉debugger模式,不然會出現(xiàn)異常。 

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • ReactDOM 隱藏特性詳解

    ReactDOM 隱藏特性詳解

    這篇文章主要為大家介紹了ReactDOM 隱藏特性詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • react-redux中connect的裝飾器用法@connect詳解

    react-redux中connect的裝飾器用法@connect詳解

    這篇文章主要介紹了react-redux中connect的裝飾器用法@connect詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-01-01
  • 解決React報錯React?Hook?useEffect?has?a?missing?dependency

    解決React報錯React?Hook?useEffect?has?a?missing?dependency

    這篇文章主要為大家介紹了解決React報錯React?Hook?useEffect?has?a?missing?dependency,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • React實現(xiàn)分頁效果

    React實現(xiàn)分頁效果

    這篇文章主要為大家詳細介紹了React實現(xiàn)分頁效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • 使用 Rails API 構(gòu)建一個 React 應用程序的詳細步驟

    使用 Rails API 構(gòu)建一個 React 應用程序的詳細步驟

    這篇文章主要介紹了使用 Rails API 構(gòu)建一個 React 應用程序的詳細步驟,主要包括后端:Rails API部分,前端:React部分及React組件的相關(guān)操作,具有內(nèi)容詳情跟隨小編一起看看吧
    2021-08-08
  • react實現(xiàn)全局組件確認彈窗

    react實現(xiàn)全局組件確認彈窗

    這篇文章主要為大家詳細介紹了react實現(xiàn)全局組件確認彈窗,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • react腳手架配置代理的實現(xiàn)

    react腳手架配置代理的實現(xiàn)

    本文主要介紹了react腳手架配置代理的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-02-02
  • react使用.env文件管理全局變量的方法

    react使用.env文件管理全局變量的方法

    本文主要介紹了react使用.env文件管理全局變量的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-01-01
  • 在create-react-app中使用sass的方法示例

    在create-react-app中使用sass的方法示例

    這篇文章主要介紹了在create-react-app中使用sass的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-10-10
  • 如何在React中直接使用Redux

    如何在React中直接使用Redux

    這篇文章主要介紹了如何在React中直接使用Redux,目前redux在react中使用是最多的,所以我們需要將之前編寫的redux代碼,融入到react當中去,本文給大家詳細講解,需要的朋友可以參考下
    2022-11-11

最新評論

宁安市| 永修县| 北川| 沈丘县| 会泽县| 英山县| 神农架林区| 安宁市| 曲阳县| 襄樊市| 石渠县| 百色市| 长葛市| 饶阳县| 平定县| 漳州市| 安吉县| 平顶山市| 罗源县| 深水埗区| 衡东县| 怀宁县| 金昌市| 宜宾市| 炉霍县| 陈巴尔虎旗| 青冈县| 合山市| 福清市| 康保县| 福建省| 英山县| 安多县| 济阳县| 赞皇县| 雅江县| 安西县| 上杭县| 塔河县| 田阳县| 丹巴县|