이유 반응 바인딩을 정의 할 때 여러 유형을 허용하는 바인딩을 어떻게 결정할 수 있는지 알고 싶습니다. 예를 들어, string
, number
, array(string)
또는 array(number)
을 받아 들여야하는 인수 ~value
이 있습니다. 지금은 option('a)
을 사용하고 있지만 형식을 명시 적으로 정의하는 것을 선호하므로이 방법이 가장 깨끗하다고 생각하지 않습니다. 어떻게 할 수 있습니까? 나는 bs.unwrap
을 보았습니다. 그러나 함수 구문에 외부 구문을 결합하는 방법을 잘 모르겠습니다.reason-react를 사용하여 함수 시그니처에서 여러 유형을 허용하는 바인딩을 정의하는 방법은 무엇입니까?
module Select = {
[@bs.module "material-ui/Select"] external reactClass : ReasonReact.reactClass = "default";
let make =
(
...
~menuProps: option(Js.t({..}))=?,
~value: option('a), /* Should be type to string, number, Array of string and Array of number */
~style: option(ReactDOMRe.style)=?,
...
children
) =>
ReasonReact.wrapJsForReason(
~reactClass,
~props=
Js.Nullable.(
{
...
"value": from_opt(value),
"style": from_opt(style)
}
),
children
);
};
이유는 숫자 형식이 정의되지 않았기 때문에 제 바인딩 또한 부동 소수점과 정수를 숫자로 매핑해야합니까?
둘 다'float'과'int'는 js'number'로 표현됩니다. 따라서 기술적으로'float'을 사용하는 것만으로 도망 갈 수 있지만 편리 성을 위해 둘 다 가져 가고 싶을 것입니다. – glennsl