-
Notifications
You must be signed in to change notification settings - Fork 12.8k
Missing "'React' is declared but its value is never read" error when using tsconfig.json jsx setting with react-jsx value #41882
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
Comments
Having the same problem in version 4.1.3.
|
In React 17 you no longer need to import react when writing JSX |
If I remove it. another error will occur. 'React' refers to a UMD global, but the current file is a module. Consider adding an import instead.ts(2686) |
You only don't need to import it for the tag factory; if you actually use it for other things (eg, types, base classes, hooks) you'll still need to explicitly import it, like anything else. |
For others that may stumble across this: |
I'm still getting |
We still use React 16. How can we get rid of this error? |
Using React 17, if I take out the import I get this error instead: 'React' must be in scope when using JSX" So it doesn't seam optional. |
In React 17 this is no longer necessary just to use JSX (see microsoft/TypeScript#41882 (comment)).
In React 17 this is no longer necessary just to use JSX (see microsoft/TypeScript#41882 (comment)).
In React 17 this is no longer necessary just to use JSX (see microsoft/TypeScript#41882 (comment)).
In React 17 this is no longer necessary just to use JSX (see microsoft/TypeScript#41882 (comment)).
In React 17 this is no longer necessary just to use JSX (see microsoft/TypeScript#41882 (comment)).
In React 17 this is no longer necessary just to use JSX (see microsoft/TypeScript#41882 (comment)).
Remove |
@FOG5490 You need to disable this rule https://ru.reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html#eslint. |
@vkrol Thank you, I was about to update my comment also. I just found out that comment. |
In React 17 this is no longer necessary just to use JSX (see microsoft/TypeScript#41882 (comment)).
In React 17 this is no longer necessary just to use JSX (see microsoft/TypeScript#41882 (comment)).
In React 17 this is no longer necessary just to use JSX (see microsoft/TypeScript#41882 (comment)).
In React 17 this is no longer necessary just to use JSX (see microsoft/TypeScript#41882 (comment)).
In React 17 this is no longer necessary just to use JSX (see microsoft/TypeScript#41882 (comment)).
For those of you that use setups that don't support the new JSX Transform, check your tsconfig.json. The {
"compilerOptions": {
"jsx": "react",
},
} Here's the info on all the available settings for this option and what they mean: https://www.typescriptlang.org/docs/handbook/jsx.html |
Thanks |
Thank you! That helped a lot! |
Basically: - Replace web pack setup with vite and upgrade various dependencies and cull unnecessary ones. - Also remove TSLint. Will replace with typescript-eslint rules eventually. - Got rid of the hacky landing page static generation. Various road bumps along the way: - https://javascript.plainenglish.io/how-to-set-up-path-resolving-in-vite-ad284e0d9eae - fix sass imports vitejs/vite#5764 (comment) - Then needed to rewrite the alias for typescript again to match the types - Replace `process`. With the `import.meta.env` thing - https://stackoverflow.com/questions/64677212/how-to-configure-proxy-in-vite - Fix imports for static files from `requires()` - Had to fix proxying for `/avatar` and `/api` in dev - Ran into remarkjs/react-markdown#339 (comment) - Upgrade markdown react to fix - Migrate from `react-helmet` to fix some deprecation warnings - Vite has a different jsx config, so no need to import React - microsoft/TypeScript#41882 - Vitest issue: - https://github.com/vitest-dev/vitest/blob/57c2367196b3fd978a04fa38ebdac7a5b6ef9b16/packages/vite-node/src/client.ts#L178-L179 - Couldn’t import react-dnd, upgraded - react-dnd/react-dnd#3368 - `import { isUndefined } from "util"` didn’t work - Favicon via https://github.com/darkobits/vite-plugin-favicons to replace web pack equivalent - Issue with React router browser history in vitest, it exploded until jsdom was setup - Question: https://stackoverflow.com/questions/71703933/what-is-the-difference-between-vite-and-vite-preview - Vitest vscode integration broken :/ - vitest-dev/vscode#44 - Tried happy-dom but it doesn’t work, lots of issues, supposed to be faster - Took a while to get MSW in a good place, had to write some stuff so missing endpoint mocks fail the test - I think there's room for improvement here in terms of developer experience - Test with react testing library and API calls - https://www.npmjs.com/package/nock - Doesn’t fail test on unknown mock - https://stackoverflow.com/questions/69430232/jest-nock-how-to-fail-a-test-if-a-non-mocked-request-is-made - MSW - Doesn’t fail test on unknown mock - mswjs/msw#946 - Relay’s mockEnvironment - couldn't easily find thorough examples - Apollo mock provider - Doesn’t fail test on unknown mock - Added a visualize plugin similar to a web pack analyzer thing, but it’s slightly off with the numbers it gives for sizes: - btd/rollup-plugin-visualizer#96 - TODO: - ESLINT rules, replace what tslint provided, eslint-cake anyone? - https://typescript-eslint.io/rules/no-floating-promises/ - And more!!! - Replace lodash with lodash-es - Or maybe: https://github.com/onebay/vite-plugin-imp - Although lodash-es seems cleaner - SSR for landing page?
is it same for the v18? |
@doylemark , I am on version 18 and I have this error, lol |
Am also facing the same issue |
eslint rule: |
As per [this comment](microsoft/TypeScript#41882 (comment)) Signed-off-by: András Jáky <[email protected]>
As per [this comment](microsoft/TypeScript#41882 (comment)) Signed-off-by: András Jáky <[email protected]>
* Implement test suite * Attempt at fixing pipeline error https://github.com/microsoft/TypeScript/issues/41882\#issuecomment-940734525 Source of this attempt
TypeScript Version: 4.2.0-dev.20201208
Search Terms:
React, JSX transform, noUnusedLocals, missing error.
Code
Expected behavior:
Actual behavior:
No error.
Additional info:
The compiler throws error correctly if JSX does not use custom components. For example:
Playground Link: N/A (Playground doesn't support
"jsx": "react-jsx"
tsconfig.json
setting.Related Issues: N/A
Minimal reproducible example: https://github.com/vkrol/typescript-missing-nounusedlocals-error-for-react-with-new-jsx-transform
The text was updated successfully, but these errors were encountered: