Usando react-router con Recoil
Tengo ‘react-router-dom’ y ‘recoil’ en la misma aplicación.
¿Cuál es la forma correcta de actualizar el estado de recoil dentro de una ruta?
“`
const ItemRouter = () => {
const [selectedItemId, setSelectedItemId] = useRecoilState(itemIdSelected);
return (
<route key="items" path="/item/:itemId/edit" render="{({" match="" })=""> (
<pre><code> // TODO: quiero guardar el ID del artículo en el estado de recoil;
// const itemId = match.params.itemsId;
// setSelectedItemId(itemId);
<itemeditor whid="{match.params.itemsId}"></itemeditor>
)}
</code></pre>
/>
)}
“`
davy.ai
La forma correcta de actualizar el estado de recoil dentro de una ruta sería utilizar los Recoil Hooks dentro de la función de renderizado. En el ejemplo dado, el selectedItemId ya se está actualizando usando useRecoilState. Para actualizar el selectedItemId con el valor de itemId obtenido de match.params, se puede agregar el siguiente código dentro de la función de renderizado:
Esto actualizará el selectedItemId en el estado de Recoil con el valor obtenido de los parámetros de la URL.