Closed megantaylor closed 3 months ago
Can you elaborate on your usecase? What are you trying to achieve? I tried the code you put in the demo without having any issue. And please, follow the issue template
I've updated my issue to follow the issue template.
I tried to reproduce this in the CodeSandbox at https://codesandbox.io/s/github/marmelab/react-admin/tree/master/examples/simple but I keep getting this error when it tries to compile:
ERROR in ./src/polyfills.ts Module not found: Error: Can't resolve 'proxy-polyfill/proxy.min.js' in '/sandbox/src' @ ./src/polyfills.ts 5:0-38 @ multi (webpack)-dev-server/client?http://127.0.0.1:8080 (webpack)/hot/dev-server.js ./src/polyfills.ts
I am able to reproduce the issue by running the demo from the repo locally. The error is visible in the browser devtools console.
also experienced this issue.
redirect={false}
on a <SimpleForm />
component (rendered by <Edit />
)useQuery
returns the errorError happens here on line 134
I believe the variable _a
is undefined for some reason. However, no network request fails.
Also, the issue only happens after the save. If you refresh the page, either through react-admin
's refresh button or browser refresh, useQuery
works fine.
I made a codesandbox fork here: https://codesandbox.io/s/keen-snowflake-tmftd
The changes I made are in src/posts/PostEdit.tsx
To reproduce the error:
error TypeError: Cannot read properties of undefined (reading 'data')
any progress on this issue?
same issue, but i used dataProviderProxy from useDataProvider
hook (useQuery
works the same, calling useDataProvider
too)
usecase: my api entity has multiple relationships and complex formatting logic on userside. I need to fetch some data (in my List or Datagrid component) for processing this in FunctionField
. Yeah i know about ReferenceField
but it doesn't suit me because api return nested data structures with many-to-many relationships.
another example in codesandbox: https://codesandbox.io/s/usedataprovider-example-jb68p-jb68p step to reproduce same as @megantaylor say
for simplicity list has "fetched value" col and succesfuly show fetched data
Click on any row for open edit form
Edit text field value and press save button
After redirect we have re-mount list and dataProvider.getList
return undefined
some notes:
as already mentioned, the problem lies in the mutationMode: 'optimistic' | 'undoable'
if you push REFRESH_VIEW
action, data will show as expected
workaround:
useQuery
and useDataProvider
hooks you can call pure dataProvider object methods
const dataProvider = useContext(DataProviderContext);
(from docs)<Edit mutationMode="pessimistic" {...props}>
Reproduced, thanks for the codesandbox.
Hi! Just wanted to check in on this. Is it fixed as part of v4? If not, any plan on addressing it soon?
We no longer export a useQuery
in v4, so I supposed it's fixed
With the release of react-admin v5, react-admin v3 has reached its end of life. We won't fix bugs or make any new release on the 3.x branch. We recommend that you switch to a more recent version of react-admin.
So I'm closing this issue as we won't fix it.
What you were expecting:
Fetch data with useQuery from inside Edit/Create components and correctly receive data.
What happened instead:
useQuery returns an error after save:
error TypeError: Cannot read properties of undefined (reading 'data')
.Steps to reproduce:
I am trying to fetch data with useQuery from inside Edit/Create components. I have
redirect={false}
on the SaveButton so the form stays visible.If
mutationMode={"undoable"}
, useQuery returns an error after save:error TypeError: Cannot read properties of undefined (reading 'data')
.Related code:
I tried to reproduce this in the CodeSandbox at https://codesandbox.io/s/github/marmelab/react-admin/tree/master/examples/simple but I keep getting this error when it tries to compile:
I have reproduced this behavior in the react-admin demo app (pulled the repo and ran the demo locally) by changing
src/reviews/ReviewEditToolbar.tsx
like so: