我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