私はTabNavigator
カメラを持っています。 コード例:React-Native TabNavigator with camera(カメラは常にオン)
マイ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
をタップすると、すべてのシーンを読み込むのに時間が必要となり、アプリのパフォーマンスが悪いです。
カメラのページをレンダリングするときに、レンダリングする必要があるのは何ですか?
もう1つの質問:私たちはカメラのシーンを離れるとき、カメラはまだ動作している、私はシーンを離れるときに私はそれをオフにすることができますか?
私は、私は答えを見つけた誰かのために興味深いがある場合react-native-camera: ^0.10.0