Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript React Native-useRef在RNCamera上提供空值_Javascript_Reactjs_React Native_React Hooks_React Native Camera - Fatal编程技术网

Javascript React Native-useRef在RNCamera上提供空值

Javascript React Native-useRef在RNCamera上提供空值,javascript,reactjs,react-native,react-hooks,react-native-camera,Javascript,Reactjs,React Native,React Hooks,React Native Camera,我第一次使用react native camera,为此我使用了功能组件。我想在点击按钮时打开相机,但使用ref不起作用。这是我的密码: const camContainer = () => { const cameraRef = useRef(null); useEffect(() => { console.log(cameraRef); }, [cameraRef]); const openCamera = () => { const o

我第一次使用react native camera,为此我使用了功能组件。我想在点击按钮时打开相机,但使用ref不起作用。这是我的密码:

const camContainer = () => {
  const cameraRef = useRef(null);

  useEffect(() => {
    console.log(cameraRef);
  }, [cameraRef]);

  const openCamera = () => {
    const options = {quality: 0.5, base64: true};
    // cameraRef.current.takePictureAsync(options);
    console.log(cameraRef);
  };

  return (
    <TouchableOpacity onPress={() => openCamera()}>
      <Text>Open Camera</Text>
      {!cameraRef && (
        <View>
          <RNCamera ref={cameraRef} style={{flex: 1, alignItems: 'center'}} />
        </View>
      )}
    </TouchableOpacity>
  );
};
const-camContainer=()=>{
const cameraRef=useRef(null);
useffect(()=>{
console.log(cameraRef);
},[cameraRef]);
常量openCamera=()=>{
const options={quality:0.5,base64:true};
//cameraRef.current.takePictureAsync(选项);
console.log(cameraRef);
};
返回(
openCamera()}>
开放式摄像机
{!cameraRef&&(
)}
);
};

我使用
useffect
登录了
cameraRef
,但是
cameraRef.current
仍然为空,我不明白当时如何打开相机?

在RNCamera的文档中,应该是这样的

{
this.camera=ref;
}}
/>;
// ...
snap=async()=>{
如果(这个相机){
let photo=等待这个。camera.takePictureAsync();
}

};你需要参考号吗?我想搬走!cameraRef应该为您的案例展示相机。我移除了cameraRef,但使用cameraRef我无法打开相机,请帮助我@GeneSy