useCreate with custom url
exist a way to use useCreate hook with a custom url to post?
5 Replies
Hi @jaoc1811. I'm kapa.ai, your friendly support bot. I will try to answer your question by searching through the knowledge base. :wave:
----------------------
The
useCreate
hook in Refine is designed to work with the resource-based structure of Refine and doesn't directly support custom URLs. However, you can achieve a similar effect by using the useCustom
hook, which allows you to send custom query requests with a specified URL and method.
Here's an example of how you can use the useCustom
hook:
In this example, replace your-custom-url
with your desired endpoint, and adjust the config
object to fit your needs. The method
is set to "post"
to mimic the behavior of useCreate
.
Remember, useCustom
does not invalidate queries and therefore will not update the application state. If you need to update the state after the custom create operation, you might need to manually invalidate queries or update the cache.
For more information, refer to the useCustom documentation (https://refine.dev/docs/data/hooks/use-custom) and the custom method documentation (https://refine.dev/docs/tutorial/understanding-dataprovider/create-dataprovider#custom).
----------------------
Note: you can ask me a follow up question by @ mentioning me again :speech_balloon:
----------------------<@110864105035808768> kapa.ai is still learning and improving, please let us know how it did by reacting below
ambitious-aqua•9mo ago
@kapa.ai I changed the endpoint name, so I can use useCreate now, but now, how can I redirect to the list view after getting a 201 response?
Let me check the knowledge base for you. One moment! :books:
----------------------
After a successful mutation, Refine's
useForm
hook will redirect to the "list" page by default. If you want to redirect to a different page, you can use the redirect
function to programmatically specify the destination, or set the redirect
property in the hook's options.
Here's an example of how you can use the redirect
function:
In this example, after a successful mutation, the application will redirect to the "list" page. Replace "list"
with the name of the page you want to redirect to.
You can also set the redirect
property in the useForm
hook's options to specify the redirection behavior:
In this example, after a successful mutation, the application will redirect to the "list" page.
Please note that this will only work if you have routerProvider
defined in your <Refine>
component along with the proper resource
definition with routes and actions.
For more information, refer to the useForm
documentation (https://refine.dev/docs/data/hooks/use-form) and the <Refine>
component documentation (https://refine.dev/docs/core/refine-component).
----------------------
Note: you can ask me a follow up question by @ mentioning me again :speech_balloon:
----------------------<@110864105035808768> kapa.ai is still learning and improving, please let us know how it did by reacting below