У меня есть компонент React, который извлекает некоторые данные из IndexedDB, который является асинхронной задачей, он использует идентификатор из URL-адреса, переданного хуком useParams, пусть скажем id = 1. Когда я нажимаю на ссылку в примере, идентификатор изменяется 2, но в этот момент ничего не происходит, компонент не перерисовывается.
Что мне нужно сделать, чтобы он работал? Я просто не понимаю, почему это не работает прямо сейчас. Может ли кто-нибудь просветить меня?
import React, {useState} from 'react';
import { Link, useParams } from "react-router-dom";
import { useAsync } from 'react-async';
export default function (props) {
let {id} = useParams();
const {data, error, isLoading} = useAsync({ promiseFn: loadData, id: parseInt(id)});
if (isLoading) return "Loading...";
if (error) return `Something went wrong: ${error.message}`;
if (data)
return (
<>
<h1>{data.name}</h1>
<Link to={'/2'}>other id</Link>
</>
);
}