我有这些组件设置:RequestLayout > RequestComposer > RequestMessageOptions > LegalSenderDropdown
请求布局.jsx:
const requestData = useFragment(
graphql`
fragment RequestLayout_request on TakedownRequest {
...RequestComposer_request
}
`,
requestFragment,
);
return (<RequestComposer request={request} />)
RequestComposer.jsx:
type Props = {|
request: RequestComposer_request$key,
|};
const RequestComposer = ({
request: requestFragment,
}: Props): Node => {
const request = useFragment(
graphql`
fragment RequestComposer_request on TakedownRequest {
...RequestComposer_counterNoticeModule @include(if: $counterNotice)
}
`,
requestFragment,
);
return (<RequestMessageOptions request={request} />)
}
RequestMessageOptions.jsx 刚刚将请求传递给 LegalSenderDropdown.jsx:
type Props = {|
request: RequestComposer_request,
|};
const LegalSenderDropdown = ({
request,
}: Props): Node => {
const originalRequest = request.counterNoticeModule?.originalRequest;
return null;
};
无法获取
request.counterNoticeModule
,因为[1].Flow(prop-missing) LegalSenderDropdown.jsx(20, 3): [1]counterNoticeModule
中缺少 属性RequestComposer_request
RequestComposer_request
当我查看其他 RequestComposer_request 类型时,我得到了编译器生成的这个:
+id: string,
+primaryType: ?TakedownRequestModuleType,
+owner: ?{|
+email: string
|},
+agent: ?{|
+email: string
|},
+$fragmentRefs: RequestComposer_counterNoticeModule$ref,
+$refType: RequestComposer_request$ref,
|};
export type RequestComposer_request$data = RequestComposer_request;
export type RequestComposer_request$key = {
+$data?: RequestComposer_request$data,
+$fragmentRefs: RequestComposer_request$ref,
...
};