skip to Main Content

When I build my react project I get an error like this.

export type ExtractRouteOptionalParam<T extends string, U = string | number | boolean> = T extends `${infer Param}?`      
  ? { [k in Param]?: U }
  : T extends `${infer Param}*`
  ? { [k in Param]?: U }

Build log

How to solve this?

5

Answers


  1. Chosen as BEST ANSWER

    I am adding an answer for future reference for others.

    Yes like others mentioned typescript was the issue.

    I upgraded it to the latest version (currently 4.8.3). After upgrading, I had to fix a type issue on my redux saga file and I had to upgrade react-scripts to 4.0.1 to fix the Parsing error: Cannot read properties of undefined (reading 'map').


  2. enter image description hereI meet seem issue on yesterday. And I use typescript version is 3.9.3. I had try version 3.9.10 cannot sovle this problem

    Login or Signup to reply.
  3. I updated typescript version to 4.1.6 and it worked for me. I tried newest version of typescript. It also works, but it doesn’t support all the features I need.

    Login or Signup to reply.
  4. I’ve added @types/react-router with a version of 5.1.14 as a dependency to my package.json file and installed it which solved the issue.

    Login or Signup to reply.
  5. First option:

    As Rohan Jayraj mentioned, it is better to upgrade typescript and react-scripts.

    Second Option:

    If you have ejected your application and have no other option then follow this

    Delete lock files and node_modules in your repo

    • yarn.lock/ package-lock.json

    • node_modules

    Run below commands to install and start your app

    • npm install –legacy-peer-deps
    • npm build [for prod]
    • npm start [for dev]

    This is happening because dependency packages [react router in this case] using @types/react as a dependency with version * mentioned in their dependencies, rather than an optional peer dependency.

    This issue will repeat for all the react typescript applications with new kind of types error everytime.

    [error may be different everytime but this solution works]

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search