title: Property 'token' is missing in type 'PropsWithChildren<WithUrqlProps>' but required in type '{ token: string; }'
body: <p>I get this error at (ChangePassword) in export default withUrqlClient(createUrqlClient)(ChangePassword):</p>
  <blockquote>
  <p>Argument of type 'FunctionComponent&lt;{ token: string; }&gt; &amp; { getInitialProps?(context: NextPageContext): { token: string; } | Promise&lt;{ token: string; }&gt;; }' is not assignable to parameter of type 'NextComponentType&lt;PartialNextContext, {}, {}&gt;'.
  Type 'FunctionComponent&lt;{ token: string; }&gt; &amp; { getInitialProps?(context: NextPageContext): { token: string; } | Promise&lt;{ token: string; }&gt;; }' is not assignable to type 'FunctionComponent &amp; { getInitialProps?(context: PartialNextContext): {} | Promise&lt;{}&gt;; }'.
  Type 'FunctionComponent&lt;{ token: string; }&gt; &amp; { getInitialProps?(context: NextPageContext): { token: string; } | Promise&lt;{ token: string; }&gt;; }' is not assignable to type 'FunctionComponent'.
  Types of parameters 'props' and 'props' are incompatible.
  Type 'PropsWithChildren' is not assignable to type 'PropsWithChildren&lt;{ token: string; }&gt;'.
  Property 'token' is missing in type 'PropsWithChildren' but required in type '{ token: string; }'.ts(2345)</p>
  </blockquote>
  <p>Here is the code:</p>
  <pre><code>import { NextPage } from &quot;next&quot;;
  import { Wrapper } from &quot;../../components/Wrapper&quot;;
  import { Formik, Form } from &quot;formik&quot;;
  import { toErrorMap } from &quot;../../utils/toErrorMap&quot;;
  import { InputField } from &quot;../../components/InputField&quot;;
  import { Box, Button, Link, Flex } from &quot;@chakra-ui/react&quot;;
  import { useChangePasswordMutation } from &quot;../../generated/graphql&quot;;
  import { useRouter } from &quot;next/router&quot;;
  import { withUrqlClient } from &quot;next-urql&quot;;
  import { createUrqlClient } from &quot;../../utils/createUrqlClient&quot;;
  import NextLink from &quot;next/link&quot;;
  
  const ChangePassword: NextPage&lt;{ token: string }&gt; = ({ token }) =&gt; {
    const router = useRouter();
    const [, changePassword] = useChangePasswordMutation();
    const [tokenError, setTokenError] = useState(&quot;&quot;);
    return (
      &lt;Wrapper variant=&quot;small&quot;&gt;
        &lt;Formik
          initialValues={{ newPassword: &quot;&quot; }}
          onSubmit={async (values, { setErrors }) =&gt; {
            const response = await changePassword({
              newPassword: values.newPassword,
              token,
            });
            if (response.data?.changePassword.errors) {
              const errorMap = toErrorMap(response.data.changePassword.errors);
              if (&quot;token&quot; in errorMap) {
                setTokenError(errorMap.token);
              }
              setErrors(errorMap);
            } else if (response.data?.changePassword.user) {
              // worked
              router.push(&quot;/&quot;);
            }
          }}
        &gt;
          {({ isSubmitting }) =&gt; (
            &lt;Form&gt;
              &lt;InputField
                name=&quot;newPassword&quot;
                placeholder=&quot;new password&quot;
                label=&quot;New Password&quot;
                type=&quot;password&quot;
              /&gt;
              {tokenError ? (
                &lt;Flex&gt;
                  &lt;Box mr={2} style={{ color: &quot;red&quot; }}&gt;
                    {tokenError}
                  &lt;/Box&gt;
                  &lt;NextLink href=&quot;/forgot-password&quot;&gt;
                    &lt;Link&gt;click here to get a new password&lt;/Link&gt;
                  &lt;/NextLink&gt;
                &lt;/Flex&gt;
              ) : null}
              &lt;Button
                mt={4}
                type=&quot;submit&quot;
                isLoading={isSubmitting}
                variantColor=&quot;teal&quot;
              &gt;
                change password
              &lt;/Button&gt;
            &lt;/Form&gt;
          )}
        &lt;/Formik&gt;
      &lt;/Wrapper&gt;
    );
  };
  
  ChangePassword.getInitialProps = ({ query }) =&gt; {
    return {
      token: query.token as string,
    };
  };
  
  export default withUrqlClient(createUrqlClient)(ChangePassword);
  </code></pre>