我TabNavigator
與相機內部。 代碼示例:陣營,TabNavigator的原住民用相機(相機總是)
我index.android.js
const MainNavigator = TabNavigator({
Home: { screen: QRcreatorScreen },
Contacts: { screen: ContactsScreen },
Camera: { screen: CameraScreen },
Profile: { screen: ProfileScreen },
}, {
tabBarPosition: 'bottom',
lazy: true
});
和我的相機頁:
export default class CameraScreen extends React.Component {
static navigationOptions = {
title: 'Camera',
};
emitContact() {
alert("Contact been added");
}
render() {
return (
<QRCodeScanner onRead={(e) => {
SetNewContact(e.data,() => { this.emitContact() })
}}
topContent={<Text>Just show me another code</Text>}
showMarker={true}
bottomContent={(
<TouchableOpacity style={styles.buttonTouchable}>
<Text style={styles.buttonText}
onPress={() => this.props.navigation.dispatch(resetAction) }>OK. Got it!
</Text>
</TouchableOpacity>
)}
/>
);
};
}
只需簡單QR碼閱讀器。
問題是下一步:當在TabNavigator
選項設置lazy == false
,TabNavigator
渲染應用程序啓動時的所有場景。
當lazy == true
時,場景在被調用時呈現,但當我們調用最後一個場景時(在我們的案例中爲Profile
),前面的所有場景也都在渲染。
所以,當我在Profile
挖掘,有需要一些時間來加載所有的場景,它是應用程序的性能非常糟糕。
我需要做的,使僅呈現相機頁面被調用的時候?
而另一個問題:當我們離開現場相機,相機仍在工作,我怎麼可以將其關閉時離開現場?
我用包react-native-qrcode-scanner
這是使用react-native-camera: ^0.10.0