首页 > 解决方案 > 路径名更改时重新渲染组件

问题描述

伙计们,我有一点问题我的组件不会在路径名更改时重新呈现我尝试了一切但仍然无法在这里工作是 useEffect func

useEffect(() => {
    var user=window.location.pathname.replace('/user/','');
    axios.defaults.baseURL = 'http://rating.test';
 axios.get('/api/getuser',{headers: { Authorization: `Bearer ${localStorage.getItem('userToken')}` },params:{username: user,}}).then(res=>{
      setposts(res.data.posts);
      setuser({id:res.data.id,username:res.data.username});
  })


 },[window.location.pathname])

我正在使用反应路由器顺便说一句

编辑:我的路由器

    <Router>
   <MyHeader />
<Switch>
<Route exact path="/" component={Login}/>
<Route path="/main" >
  <Main/>
</Route>
<Route path="/myposts" >
  <Profile/>
</Route>
<Route path="/user/:id" >
  <User />
</Route>

标签: reactjsreact-router

解决方案


推荐阅读