Closed Gr33nLight closed 1 year ago
This is the code change in question
export default function Auth() {
console.log('a');
return (
<div className="flex flex-1 bg-stone-50">
...
</div>
);
}
We've tried a freshly generated Next 12 app, created auth.js
file with the exact same content, but everything is working for us as expected with no errors:
Can you please create a sample repo demonstrating the issue, or maybe you can see something in the recording that we're missing to reproduce it?
Hi @ArtemGovorov I am currently experiencing the same issue over and over again.
I have a nextjs 12 project, inside the _app.tsx
i am logging something (code below)
in the app file i have a console.log(session)
which is causing the following error:
./pages/_app.tsx
Module parse failed: Identifier '_react' has already been declared (19:6)
File was processed with these loaders:
* ./node_modules/next/dist/build/webpack/loaders/next-swc-loader.js
You may need an additional loader to handle the result of these loaders.
| const _store = require("../store");
| const _reactRedux = require("react-redux");
> const _react = require("react");
| const _gtm = require("@lib/gtm");
| const _script = /*#__PURE__*/ _interopRequireDefault(require("next/script"));
after uninstalling console ninja the error changed to:
Unhandled Runtime Error
Error: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: undefined. You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.
Check the render method of `MyApp`.
I stopped the process, deleted the folder .next
and ran npm run dev
the project worked fine after that, but i am certain that this issue is being caused by console ninja.
edit: logging anywhere in the pages or API works fine. I am only experiencing the issue in the _app.tsx
. not sure about _document.tsx
as i haven't tried logging in it
EDIT2: Also causing an issue with react-query. here is the log:
error - Error: No QueryClient set, use QueryClientProvider to set one
at Object.useQueryClient (C:\Users\a_4n\Desktop\repos\globalfarms\node_modules\@tanstack\react-query\build\lib\QueryClientProvider.js:58:11)
at Object.useBaseQuery (C:\Users\a_4n\Desktop\repos\globalfarms\node_modules\@tanstack\react-query\build\lib\useBaseQuery.js:35:43)
at useQuery (C:\Users\a_4n\Desktop\repos\globalfarms\node_modules\@tanstack\react-query\build\lib\useQuery.js:10:23)
at SmallScreenSearchComponent (webpack-internal:///./components/search/SmallScreenSearchComponent.tsx:49:85)
at renderWithHooks (C:\Users\a_4n\Desktop\repos\globalfarms\node_modules\react-dom\cjs\react-dom-server.browser.development.js:5658:16)
at renderIndeterminateComponent (C:\Users\a_4n\Desktop\repos\globalfarms\node_modules\react-dom\cjs\react-dom-server.browser.development.js:5731:15)
at renderElement (C:\Users\a_4n\Desktop\repos\globalfarms\node_modules\react-dom\cjs\react-dom-server.browser.development.js:5946:7)
at renderNodeDestructiveImpl (C:\Users\a_4n\Desktop\repos\globalfarms\node_modules\react-dom\cjs\react-dom-server.browser.development.js:6104:11)
at renderNodeDestructive (C:\Users\a_4n\Desktop\repos\globalfarms\node_modules\react-dom\cjs\react-dom-server.browser.development.js:6076:14)
at renderNode (C:\Users\a_4n\Desktop\repos\globalfarms\node_modules\react-dom\cjs\react-dom-server.browser.development.js:6259:12) {
page: '/'
}
This is resolved if i remove console ninja, remove .next
folder and restart the dev server.
@Ahmadh26
Re: Module parse failed: Identifier '_react' has already been declared (19:6)
, thanks for providing the details, we were able to reproduce the issue.
Re: error - Error: No QueryClient set, use QueryClientProvider to set one
- can you please share the code of the page that is casing the issue?
@ArtemGovorov
it is just a simple useQuery in a react component. i cannot share the full code in public but here is some:
import { useRef, useState } from 'react'
import { useRouter } from 'next/router'
import { fetchAllCountries, fetchCategories } from '@lib/queries'
import { useQueries, useQuery } from '@tanstack/react-query'
type Props = {
searchWrapper?: string
lineWrapper?: string
isSearchPage?: boolean
}
export default function SearchComponent(props: Props) {
const { searchWrapper, lineWrapper } = props
const router = useRouter()
const keywordRef = useRef<HTMLInputElement>(null)
const [address, setAddress] = useState<string>('')
const [search, setSearch] = useState<{
cat?: number
subCat?: number
key?: string
location?: string
dist?: number
country?: string
title?: number
}>({
cat: 0,
subCat: 0,
key: '',
location: '',
dist: 0,
country: '',
title: 0,
})
// const results = useQueries({
// queries: [
// {
// queryKey: ['countries'],
// queryFn: () => fetchAllCountries(),
// staleTime: Infinity,
// },
// {
// queryKey: ['categories'],
// queryFn: () => fetchCategories(),
// staleTime: Infinity,
// },
// ],
// })
const { data: countriesData, isLoading: cLoading } = useQuery({
queryKey: ['countries'],
queryFn: () => fetchAllCountries(),
staleTime: Infinity,
})
const { data: catData, isLoading } = useQuery({
queryKey: ['categories'],
queryFn: () => fetchCategories(),
staleTime: Infinity,
})
const categories = catData ?? []
const countries = countriesData ?? []
const subCategory =
categories.find((cat) => cat.id === search.cat)?.subcategories ?? []
const searchOptions = {
componentRestrictions: {
country:
countries.find((x) => x.name === search.country)?.isoAlpha2 ?? 'au',
},
}
return (
<div>some stuff here</div>
)
}
This is a component i have in my homepage. it is the one causing an issue. unfortunately i cannot share more code publicly as this is my work code.
I am more than happy to share more in private (discord if you want)
@Ahmadh26 Thanks!
When exactly does the Error: No QueryClient set
show up:
remove .next folder and restart the dev server
)?@Ahmadh26 The Module parse failed: Identifier '_react' has already been declared (19:6)
error should be fixed in the v0.0.31+. After the version update, please stop the Next.js CLI process, please delete the .next
folder and run npm run dev
(only required once). After doing that, please check if the other 2 reported errors ever show up, and if they do - please let us know.
@ArtemGovorov Both issues are resolved!!! i was creating a video showing you what's happening and out of nowhere it didnt happen. realized that the extension updated lol!
Thank you for the quick support :)! i'll let you know if something else comes up!
@ArtemGovorov
one more question, any reason this is happening:
results are posted in terminal + next to the console.log in the code editor, but not in the split tab.
@Ahmadh26 Thanks for the report. We can reproduce the issue, we'll be looking into it a few hours.
Can confirm, 0.0.31 fixed the issue I mentioned at the start and some other errors that appeared when changing other random parts of the code... Will keep you informed If I see other anomalies. @ArtemGovorov waiting on your follow up about the other issue before closing the issue, thanks!!
The missing details issue should be now fixed in the latest version (0.0.33+).
I'm using version 0.0.28 and NextJS 12.3.1 I added a console.log at the start of a page and launching the app in development gets me this error that prevent the app from running, note that before this error happens, I get the console.log in the editor as expected. Removing the console.log and restarting the dev command solves the error