0
네이티브 반응 반응 - 기본 카메라를 화면으로 이동합니다.카메라, 상태 전이 문제는 다음 touchableopacity onPress에에, 내가 asyncstorage 항목을 저장하기 위해 노력했습니다
문제 : 카메라 화면에 아무 것도 나타나지 않습니다. 다음과 같은 오류가 발생했습니다 : 경고 : 기존 상태 전환 (예 : '렌더링'또는 다른 구성 요소의 생성자) 중에 업데이트 할 수 없습니다. 렌더링 방법은 소품과 국가의 순수한 기능이어야합니다. 생성자 부작용은 anti-pattern이지만 'componentWillMount'로 이동할 수 있습니다. (add 매개 클래스에서) 라인 27, 36 및 41 다음
에
경고 포인트 코드이다
AddParameters.js
import React, { Component } from 'react';
import {
Text,
AsyncStorage,
View,
TouchableOpacity,
} from 'react-native';
class AddParameters extends Component {
constructor() {
super()
this.state = {
localIds: [
"data1",
"data2",
"data3",
"data4",
"data5",
"data6"
],
}
}
renderScreen =() => {
return (
<TouchableOpacity onPress={this._AddParameter(this.state.localIds[0])}>
<Text>Click Me</Text>
</TouchableOpacity>
);
}
_AddParameter = (ParameterId) => {
const { navigate } = this.props.navigation;
AsyncStorage.setItem("myparam", ParameterId);
navigate("CameraScreen");
}
render() {
return (
this.renderScreen()
);
}
}
export default AddParameters;
CameraScreen.js
'use strict';
import React, { Component } from 'react';
import {
AppRegistry,
Dimensions,
StyleSheet,
Text,
View,
Image,
AsyncStorage,
} from 'react-native';
import Camera from 'react-native-camera';
class CameraScreen extends Component {
constructor(props) {
super(props);
this.state = {
mystate: '',
};
}
renderCamera =() => {
return (
<Camera
ref={(cam) => {
this.camera = cam;
}}
style={stylesCamera.container}
aspect={Camera.constants.Aspect.fill}>
</Camera>
);
}
render() {
return (
this.renderCamera()
);
}
}
const stylesCamera = StyleSheet.create({
container: {
flex: 1,
justifyContent: "center",
alignItems: "center",
backgroundColor: "transparent",
},
});
export default CameraScreen;
설명이 도움이 될 것입니다. 미리 감사드립니다. 당신의 add 매개에
이 근무! 감사! – MacFlyer