通过DocumentPicker重新启动Expo客户端

时间:2019-01-27 14:25:23

标签: react-native expo

通过 DocumentPicker 选择文件后,

Expo 客户端应用程序重新加载/ 重新启动

Expo SDK版本: 32.0.0

尝试运行的示例代码https://snack.expo.io/HkuSxz6Sf

它也不提供错误,只是重新启动!

2 个答案:

答案 0 :(得分:0)

我看了看您的代码,发现其中有几处遗漏或有可能导致您出现错误或问题。

展览会版本

您正在使用Expo v26.0.0做小吃,您可能想使用v32.0.0的最新版本。除非有特定原因使用v26.0.0

缺少导入

这些是您当前从“ react-native”导入的

import { StyleSheet, Text, View, TouchableOpacity, Button } from 'react-native';

在您的代码中,您使用的是Image组件,但是您没有导入它,这将导致错误并且不允许您的代码运行。您也没有使用TouchableOpacity,因此可以删除它,但是拥有它而不使用它不会导致错误。

import { StyleSheet, Text, View, Image, Button } from 'react-native';

权限

您的ImagePicker无法在iOS上运行,因为iOS要求您有权访问相机胶卷。您可以按照以下方式请求许可,首先记住import { Permissions } from 'expo'

const { status } = await Permissions.askAsync(Permissions.CAMERA_ROLL);

如果用户同意,则status === 'granted',然后您可以继续打开ImagePicker

您可以了解有关Permissions here的更多信息。

小吃

这里有建议改良的小吃https://snack.expo.io/@andypandy/document-picker

答案 1 :(得分:0)

请在下面添加代码

async componentDidMount() {
    const { status } = await Permissions.askAsync(Permissions.CAMERA_ROLL);
  }