Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.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
Reason 如何对React.Ref.t(Js.Nullable.t(';a))类型的值进行模式匹配_Reason_Reason React - Fatal编程技术网

Reason 如何对React.Ref.t(Js.Nullable.t(';a))类型的值进行模式匹配

Reason 如何对React.Ref.t(Js.Nullable.t(';a))类型的值进行模式匹配,reason,reason-react,Reason,Reason React,我试图以JS对象的形式访问DOM元素 let navRef=React.useRef(Js.Nullable.null); 让宽度= 开关(Js.Nullable.toOption(navRef)){ |无=>0.0 |Some(nav)=>ReactDOMRe.domElementToObj(nav)##clientWidth }; 但是我在navRef的Js.Nullable.toooption中有一个类型eror 错误:此表达式的类型为React.Ref.t(Js.Nullable.t(

我试图以JS对象的形式访问DOM元素

let navRef=React.useRef(Js.Nullable.null);
让宽度=
开关(Js.Nullable.toOption(navRef)){
|无=>0.0
|Some(nav)=>ReactDOMRe.domElementToObj(nav)##clientWidth
};
但是我在navRef的
Js.Nullable.toooption中有一个类型eror

错误:此表达式的类型为React.Ref.t(Js.Nullable.t('a)) 但需要类型为的表达式 Js.Nullable.t('b)=Js.Nullable('b)


React.Ref.t
是一种不透明类型,因此不能直接在其上进行模式匹配。但您可以使用
React.ref.current
访问ref的值,然后对其进行模式匹配:

let navRef=React.useRef(Js.Nullable.null);
让宽度=
开关(Js.Nullable.toOption(React.Ref.current(navRef))){
|无=>0.0
|Some(nav)=>ReactDOMRe.domElementToObj(nav)##clientWidth
};