首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带react- native -camera的react本地流量路由器

带react- native -camera的react本地流量路由器
EN

Stack Overflow用户
提问于 2016-12-16 21:10:27
回答 2查看 232关注 0票数 0

我正在尝试预览下一个场景中得到的图像,但当我单击相机按钮时,转换不会发生。

代码语言:javascript
复制
import { Actions } from 'react-native-router-flux';
import Camera from 'react-native-camera';

export default class PageTwo extends Component {
  render() {
    return (
      <View style={styles.container} >
         <Camera ref={(cam) => { this.camera = cam; }}
            style={styles.preview}
            aspect={Camera.constants.Aspect.fill}>
                <Text style={styles.capture} 
                      onPress={this.takePicture.bind(this)}> 
                         <Icon name="ios-camera"/>
                </Text>
         </Camera>
      </View>
    )
 }

 takePicture() {
     this.camera.capture()
       .then((data) => {Actions.previewimg});
 }
}
EN

回答 2

Stack Overflow用户

发布于 2016-12-17 17:19:49

我认为问题在于您没有正确调用路由器转换。Actions拥有一个转换到某个屏幕的函数,在每个<Scene>key属性中给出了相同的名称。这些都是函数,所以你必须调用它们。更改您的代码以执行以下操作:

代码语言:javascript
复制
takePicture() {
     this.camera.capture()
       .then((data) => {Actions.previewimg()});
}

此外,数据不会被传递到下一个屏幕,除非您明确地这样做。因此,您的代码应该如下所示:

代码语言:javascript
复制
takePicture() {
     this.camera.capture()
       .then((data) => {Actions.previewimg({data: data}});
}

然后,您的previewimg场景将具有一个名为data的额外道具,该道具将保存图像。

票数 0
EN

Stack Overflow用户

发布于 2017-06-14 01:03:36

martinarroyo的答案是正确的方法。你必须正确地调用它,并且为了传递数据,你必须将它作为参数传递。

应用程序崩溃主要发生在Android设备上。您必须检查原生java代码,并将其与权限一起正确插入(许多人忘记了权限)。有时,由于崩溃太频繁,你的相机通常停止工作。因此,给它一些时间,打开你设备的默认相机应用程序,然后再次打开你的应用程序。看起来不错。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41185172

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档