0

我試圖預覽我在下一個場景中獲得的圖像,但當單擊相機按鈕時不會發生轉換。用反應原生相機反應本地通量路由器

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}); 
} 
} 
+0

你如何定義場景? –

+0

@AhmedAli你是什麼意思? – bakelite

回答

0

我認爲問題在於您沒有正確調用路由器轉換。 Actions包含一個轉換到某個屏幕的功能,每個<Scene>key支持中給出了相同的名稱。這些都是功能,所以你必須給他們打電話。改變你的代碼,這樣做:也

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

,數據不會被傳遞到下一個屏幕,除非你明確地這樣做。所以,你的代碼應該是這樣的:

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

然後你previewimg場景將有一個額外的道具叫data,將舉行你的形象。

+0

我已經嘗試過,仍然沒有過渡。 – bakelite

+0

@bakelite它是否拋出一個錯誤? – martinarroyo

+0

沒有沒有得到任何東西,它只是現在當我點擊按鈕時崩潰:/ – bakelite

0

martinarroyo的答案是正確的做法。你必須正確地調用它並將你必須傳遞的數據作爲參數傳遞。

應用程序主要在Android設備上崩潰。你必須檢查你的原生Java代碼,並將其正確插入權限(許多人忘記了權限)。有時候由於碰撞太頻繁,您的相機通常會停止工作。所以,給它一些時間,並打開你的設備的默認相機應用程序,然後再次打開你的應用程序。它會工作。

相關問題