У меня есть маршрут с простой панелью навигации и содержимым под ней.
<Link>
из react-router-dom ничего не делает при нажатии на URL той же страницы.
<Route path="/samePage" component={Component} />
import React from 'react';
import { Link } from 'react-router-dom';
function SomeNavBar(){
return (
<Link to="/samePage">Refresh</Link>
);
}
function Component(){
// some state
let [data, setData] = useState([]);
useEffect(()=>{
// fetch data from API here
});
return (
<>
<SomeNavBar />
{/* Displaying the state*/}
</>);
}
Я хотел бы обновить состояние по щелчку Link
в NavBar. Таким образом, один из вариантов — использовать <a href>
вместо <Link to="" />
, потому что он перезагрузит страницу и сделает то, что нужно.
Но перезагрузка — это плохо, так как мы используем React, так как я могу повторно отобразить маршрут по клику?
Link
, чтобы, когда я нажимаю на него с другого маршрута, я переходил на маршрут, на который указывает ссылка, тогда как, если я нахожусь на той же странице, мне это нужно действовать как кнопка, которая повторно отображает компонент текущего маршрута. Я думал, что может быть встроенный способ сделать это, не занимаясь этим самостоятельно. - person Phani Rithvij   schedule 09.07.2020onClick={() => setData([])}
? - person dejoma   schedule 09.07.2020