Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在单击链接时重新渲染组件_Javascript_Reactjs_React Router_React Router Dom - Fatal编程技术网

Javascript 如何在单击链接时重新渲染组件

Javascript 如何在单击链接时重新渲染组件,javascript,reactjs,react-router,react-router-dom,Javascript,Reactjs,React Router,React Router Dom,我有一条路线,它有一个简单的导航栏和下面的内容 当单击同一页面的url时,react router dom中的不会执行任何操作 从“React”导入React; 从'react router dom'导入{Link}; 函数SomeNavBar(){ 返回( 刷新 ); } 函数组件(){ //某个州 让[data,setData]=useState([]); useffect(()=>{ //在这里从API获取数据 }); 返回( {/*显示状态*/} ); } 我想在导航栏中点击链接,

我有一条路线,它有一个简单的导航栏和下面的内容

当单击同一页面的url时,react router dom中的
不会执行任何操作


从“React”导入React;
从'react router dom'导入{Link};
函数SomeNavBar(){
返回(
刷新
);
}
函数组件(){
//某个州
让[data,setData]=useState([]);
useffect(()=>{
//在这里从API获取数据
});
返回(
{/*显示状态*/}
);
}
我想在导航栏中点击
链接
,刷新状态。因此,一种选择是使用
而不是
,因为它将重新加载页面并执行所需的操作


但是重新加载是不好的,因为我们使用的是React,所以如何在单击时重新渲染路由?

您基本上是在尝试创建一个按钮,从API中重新提取数据吗?这是可以做到的,但我想更改
链接的行为,以便当我从不同的路由单击它时,我转到链接指向的路由,然而,如果我在同一个页面上,我需要它作为一个按钮来重新呈现当前路由的组件。我想可能有一种内在的方法可以做到这一点,而不必亲自处理。点击链接刷新状态->
onClick={()=>setData([])}
?也许你可以在这里找到答案@DaniloGacevic谢谢你找到这个问题。我无法在谷歌上找到它,所以我不得不问这个问题。这可以作为副本关闭。