欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

react-native-doc-viewer文檔預(yù)覽

react-native項目要求實現(xiàn)word,excel,pdf,mp4,png等格式附件圖片的在線預(yù)覽,最終選用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';
//預(yù)覽附件
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端暫不支持此種格式附件預(yù)覽,請去pc端預(yù)覽');
   }
}

應(yīng)用會打開手機上對應(yīng)的第三方軟件,做預(yù)覽。 

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)知識點可以參考官方文檔進行學(xué)習(xí),總結(jié)了幾點基本的

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

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

學(xué)習(xí)的時候,我這里主要從以下幾方面進行學(xué)習(xí)的,列出的大部分是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ù)需要安裝對應(yīng)依賴

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

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

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

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

1.物理返回鍵

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

2.跨頁面通信

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

3. formData文件上傳

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

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

相關(guān)文章

  • react中使用useEffect及踩坑記錄

    react中使用useEffect及踩坑記錄

    這篇文章主要介紹了react中使用useEffect及踩坑記錄,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • 詳解react-native-fs插件的使用以及遇到的坑

    詳解react-native-fs插件的使用以及遇到的坑

    本篇文章主要介紹了react-native-fs插件的使用以及遇到的坑,詳細的介紹了react-native-fs安裝使用,具有一定的參考價值,有興趣的可以了解一下
    2017-09-09
  • React引入css的三種方式小結(jié)

    React引入css的三種方式小結(jié)

    這篇文章主要介紹了React引入css的三種方式小結(jié),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Jira 任務(wù)管理系統(tǒng)項目總結(jié)講解

    Jira 任務(wù)管理系統(tǒng)項目總結(jié)講解

    這篇文章主要為大家介紹了Jira 任務(wù)管理系統(tǒng)項目總結(jié)講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • react項目使用redux初始化方式

    react項目使用redux初始化方式

    這篇文章主要介紹了react項目使用redux初始化方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • React通過conetxt實現(xiàn)多組件傳值功能

    React通過conetxt實現(xiàn)多組件傳值功能

    Context 提供了一種在組件之間共享此類值的方式,而不必顯式地通過組件樹的逐層傳遞 props。本文給大家介紹React通過conetxt實現(xiàn)多組件傳值功能,感興趣的朋友一起看看吧
    2021-10-10
  • React?Native中原生實現(xiàn)動態(tài)導(dǎo)入的示例詳解

    React?Native中原生實現(xiàn)動態(tài)導(dǎo)入的示例詳解

    在React?Native社區(qū)中,原生動態(tài)導(dǎo)入一直是期待已久的功能,在這篇文章中,我們將比較靜態(tài)和動態(tài)導(dǎo)入,學(xué)習(xí)如何原生地處理動態(tài)導(dǎo)入,以及有效實施的最佳實踐,希望對大家有所幫助
    2024-02-02
  • React Native之prop-types進行屬性確認詳解

    React Native之prop-types進行屬性確認詳解

    本篇文章主要介紹了React Native之prop-types進行屬性確認詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-12-12
  • React中重新實現(xiàn)強制實施表單的流程步驟

    React中重新實現(xiàn)強制實施表單的流程步驟

    這篇文章主要介紹了React中重新實現(xiàn)強制實施表單的流程步驟,就像設(shè)計人員一樣,在添加邏輯之前,您需要為不同的狀態(tài)“模擬”或創(chuàng)建“模擬”,例如,這里只是表單的視覺部分的模擬,文中通過代碼示例講解的非常詳細,需要的朋友可以參考下
    2024-05-05
  • react拖拽react-beautiful-dnd一維數(shù)組二維數(shù)組拖拽功能

    react拖拽react-beautiful-dnd一維數(shù)組二維數(shù)組拖拽功能

    二維數(shù)組可以拖拽,但是不可以編輯+拖拽,如果想要實現(xiàn)編輯+拖拽,還是需要轉(zhuǎn)換成一維數(shù)組,本文給大家介紹react拖拽react-beautiful-dnd的相關(guān)知識,感興趣的朋友跟隨小編一起看看吧
    2024-03-03

最新評論