FlowType PropMissing for query fragments
- Dominant language
- Rust
- Stars
- 19k
- Forks
- 1.9k
- PR merge metrics
- No merged PRs in 30d
Description
I have these components setup: `RequestLayout > RequestComposer > RequestMessageOptions > LegalSenderDropdown`
RequestLayout.jsx:
```
const requestData = useFragment(
graphql`
fragment RequestLayout_request on TakedownRequest {
...RequestComposer_request
}
`,
requestFragment,
);
return ()
```
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.jsx just passed the request down to LegalSenderDropdown.jsx:
```
type Props = {|
request: RequestComposer_request,
|};
const LegalSenderDropdown = ({
request,
}: Props): Node => {
const originalRequest = request.counterNoticeModule?.originalRequest;
return null;
};
```
> Cannot get `request.counterNoticeModule` because property `counterNoticeModule` is missing in `RequestComposer_request` [1].Flow(prop-missing)
> LegalSenderDropdown.jsx(20, 3): [1] `RequestComposer_request`
When I look int othe RequestComposer_request type I get this generated by the compiler:
```export type 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,
...
};
```

Contributor guide
Assessment
This issue has not been assessed yet.