deep-jade•3y ago
Can I get result of useCreate()?
I would like to get auto generate Id that why I want to get result useCreate() mutation.
but I can get undefined data with onSuccess: (data, variables, context)
10 Replies
Hi @yasuaki_jp. I'm kapa.ai, your friendly support bot. I will try to answer your question by searching through the knowledge base. :wave:
----------------------
In refine, the
useCreate hook is used to create new records. When the mutation is successful, it returns a data object which should contain the auto-generated ID of the newly created record. This data object is one of the parameters received by the onSuccess or onMutationSuccess callback function.
Here is a basic usage example of useCreate:
If you're getting undefined for data, it might be due to the response from your dataProvider. Ensure that your dataProvider's create method is returning the correct data.
For more information, refer to the useCreate documentation → (https://refine.dev/docs/api-reference/core/hooks/data/useCreate/).
----------------------
Note: you can ask me a follow up question by @ mentioning me again :speech_balloon:
----------------------<@449197041306828802> kapa.ai is still learning and improving, please let us know how it did by reacting below
deep-jadeOP•3y ago
@kapa.ai
how can I get returns a data object which should contain the auto-generated ID of the newly created recor
Let me check the knowledge base for you. One moment! :books:
----------------------
The
useCreate hook in refine returns a mutate function which you can use to create a new record. When the mutate function is called, it returns a promise that resolves with the result of the mutation. This result should contain the auto-generated ID of the newly created record.
Here's an example of how you can use the mutate function and get the auto-generated ID:
In this example, data is the result of the mutation and data.id should be the auto-generated ID of the newly created record.
For more information, refer to the useCreate documentation → (https://refine.dev/docs/api-reference/core/hooks/data/useCreate/).
----------------------
Note: you can ask me a follow up question by @ mentioning me again :speech_balloon:
----------------------<@449197041306828802> kapa.ai is still learning and improving, please let us know how it did by reacting below
deep-jadeOP•3y ago
@kapa.ai
Property 'data' does not exist on type 'void'. (tsserver 2339)
Let me check the knowledge base for you. One moment! :books:
----------------------
The error message you're seeing suggests that the
mutate function is not returning a promise that resolves with an object containing a data property. This could be due to the way your dataProvider is set up or how you're using the mutate function.
In refine, the mutate function returned by useCreate does not directly return the data. Instead, it returns a mutation object from which you can extract the data property. Here's how you can do it:
Please note that the data property will be undefined until the mutation is completed. Therefore, you should ensure that the mutation has completed before trying to access the data property.
For more information, refer to the useCreate documentation → (https://refine.dev/docs/api-reference/core/hooks/data/useCreate/).
----------------------
Note: you can ask me a follow up question by @ mentioning me again :speech_balloon:
----------------------<@449197041306828802> kapa.ai is still learning and improving, please let us know how it did by reacting below
absent-sapphire•3y ago
Hello @yasuaki_jp You may have some errors on your request to API, you can also check
onError to see if there are any errors.deep-jadeOP•3y ago
yes, I checked
onError but I can't get results.
https://github.com/refinedev/refine/issues/4212
I solved with this. thanksGitHub
[BUG] Supabase not receiving back data on insert/update · Issue #42...
Describe the bug Supabase (PostgREST) requires explicitly asking for data back when creating or updating using .select(), which is not currently present. Steps To Reproduce Setup a project with sup...