0

我有这些组件设置: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_requestRequestComposer_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,
  ...
};

图片

4

0 回答 0