-
Notifications
You must be signed in to change notification settings - Fork 27k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Updated docs for getServerSideProps and getStaticProps return values #33577
Conversation
…based on the declared type (fix vercel#33576)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would you mind updating getStaticPaths as well? Thank you!
@leerob getStaticPaths seems to be already in order based on its type. Can you elaborate more? |
It says "following required properties:" which I feel is misleading. "Any of the following" seems to make more sense, because there are multiple types of |
I think the |
Co-authored-by: Balázs Orbán <info@balazsorban.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Left a comment on getStaticProps
.
To clarify getStaticPaths
, paths
is always required, but fallback
is optional and will default to fallback: false
I was wrong, both are actually required, you were right, so the getStaticPaths
docs looks good.
next.js/packages/next/build/utils.ts
Lines 694 to 704 in 0fb1183
if ( | |
!( | |
typeof staticPathsResult.fallback === 'boolean' || | |
staticPathsResult.fallback === 'blocking' | |
) | |
) { | |
throw new Error( | |
`The \`fallback\` key must be returned from getStaticPaths in ${page}.\n` + | |
expectedReturnVal | |
) | |
} |
@balazsorban44 Updated the wording on |
…ercel#33577) This fixes the documentation for getServerSideProps and getStaticProps which mislead the defined type. Current screenshot taken from [nextjs doc](https://nextjs.org/docs/api-reference/data-fetching/get-server-side-props) ![image](https://user-images.githubusercontent.com/5223310/150689799-5da3c1b6-61ae-4455-8970-8c96f025474a.png) However, the declared type for these types are using union type which represents **any of the following** instead of **optional**. Declared types; [GetStaticPropsResult](https://github.com/vercel/next.js/blob/canary/packages/next/types/index.d.ts#L107) ![image](https://user-images.githubusercontent.com/5223310/150689919-5f3cf8f8-60d3-48e4-9412-993e2ead0634.png) [GetServerSidePropsResult](https://github.com/vercel/next.js/blob/canary/packages/next/types/index.d.ts#L160) ![image](https://user-images.githubusercontent.com/5223310/150689931-16fe3bef-eb4e-41cd-b087-98c3282d599d.png) --- ### This PR updates the documentation for their return values; **Before**: The `...` function should return an object with the following **optional** properties: **After**: The `...` function should return object with **any one of the following** properties: --- ## Bug - [x] Related issues linked using `fixes #number` - [ ] Integration tests added - [ ] Errors have helpful link attached, see `contributing.md` ## Feature - [ ] Implements an existing feature request or RFC. Make sure the feature request has been accepted for implementation before opening a PR. - [ ] Related issues linked using `fixes #number` - [ ] Integration tests added - [x] Documentation added - [ ] Telemetry added. In case of a feature if it's used or not. - [ ] Errors have helpful link attached, see `contributing.md` ## Documentation / Examples - [x] Make sure the linting passes by running `yarn lint` Co-authored-by: Vadi Taslim <70912283+vaditaslim@users.noreply.github.com>
This fixes the documentation for getServerSideProps and getStaticProps which mislead the defined type.
Current screenshot taken from nextjs doc
However, the declared type for these types are using union type which represents any of the following instead of optional.
Declared types;
GetStaticPropsResult
GetServerSidePropsResult
This PR updates the documentation for their return values;
Before: The
...
function should return an object with the following optional properties:After: The
...
function should return object with any one of the following properties:Bug
fixes #number
contributing.md
Feature
fixes #number
contributing.md
Documentation / Examples
yarn lint