Minor Changes
-
Thanks @aliemir, @alicanerdurmaz, @batuhanW, @salihozdemir, @yildirayunlu, @recepkutuk!
We're releasing a new way to connect your router to refine.The legacy
routerProvider
and its exports are now deprecated but accessible at@refinedev/react-router-v6/legacy
path.The new
routerBindings
are smaller and more flexible than the previos one.New
routerBindings
exportNew
routerBindings
contains following properties;go
: Which returns a function to handle the navigation inreact-router-v6
. It accepts a config object and navigates to the given path. UsesuseNavigate
hook under the hood.back
: Which returns a function to handle the navigation inreact-router-v6
. It navigates back to the previous page. UsesuseNavigate
hook under the hood.parse
: Which returns a function to parse the given path and returns theresource
,id
,action
and additionalparams
. UsesuseParams
anduseLocation
hooks andqs
package under the hood.Link
: A component that acceptsto
prop and renders a link to the given path. UsesLink
component fromreact-router-dom
under the hood.
Complemetary Components
-
RefineRoutes
- A component that renders the routes for the resources when the actions are defined as components. This can be used to achieve the legacy behavior ofrouterProvider
prop.RefineRoutes
component accepts a render function as a child and passed aJSX.Element
array containingRoute
components for the resource routes. You can wrap it to aRoutes
component and let it handle the route creation process for you. Additionally, If you want to add custom routes, you can place them inside theRoutes
component or you can place an anotherRoutes
component. Both apporaches are now valid and accepted by refine. -
NavigateToResource
- A component that navigates to the firstlist
action of theresources
array of<Refine>
. Optionally, you can pass aresource
prop to navigate tolist
action of the resource. This can be placed at theindex
route of your app to redirect to the first resource. -
UnsavedChangesNotifier
- This component handles the prompt when the user tries to leave the page with unsaved changes. It can be placed under theRefine
component.
Exported values from
react-router-dom
In earlier versions, we've re-exported the
react-router-dom
package. This was a bad practice and we've removed it in this version. If you're usingreact-router-dom
in your project, you should install it as a dependency and import the values from it. -
Thanks @aliemir, @alicanerdurmaz, @batuhanW, @salihozdemir, @yildirayunlu, @recepkutuk!
Moving to the@refinedev
scope 🎉🎉Moved to the
@refinedev
scope and updated our packages to use the new scope. From now on, all packages will be published under the@refinedev
scope with their new names.Now, we're also removing the
refine
prefix from all packages. So, the@pankod/refine-core
package is now@refinedev/core
,@pankod/refine-antd
is now@refinedev/antd
, and so on.