2017-08-13 133 views
0

这是我的路线上的配置代码:反应路由器Dom参数无法正常工作?

<Switch> 
    <Route exact path='/(home)?' component={TodoListHomePage} /> 
    <Route exact path='/profile/:userId' component={TodoListProfilePage} /> 
    <Route path='/login' component={SignUpAndLogin} /> 
</Switch> 

一切工作正常,但与PARAM路径怪异,在第一次单击它例如工作正常,路径

http://localhost:4000/Profile/597c1f43a87ca40d38f79a68

二号点击它加到配置文件是这样的:

http://localhost:4000/Profile/Profile/597c1f43a87ca40d38f79a68

和上上如

http://localhost:4000//Profile/Profile/Profile/Profile/597c1f43a87ca40d38f79a68

这是在点击档案链接时,我的函数调用:

handleProfileClick = (e, {name}) => { 
     this.setState({ activeItem: name }); 
     this.props.history.push(name.concat('/'.concat(this.props.viewer._id.toString()))); 
} 
+0

您使用相对路径。只需在连接之前添加'/ profile'。 –

回答

1

您使用相对路径。在连接之前只需添加/

handleProfileClick = (e, {name}) => { 
     this.setState({ activeItem: name }); 
     this.props.history.push("/profile/" + this.props.viewer._id.toString()); 
} 
+0

感谢它现在的作品,但是当我重新加载时,无法加载资源:服务器响应状态为404(未找到)。可能是什么原因? –

+0

嗯...我清理了你的'concat'操作..用更新后的代码试试吧? –

+0

是它的工作,现在,但我有另一个eror当我尝试重新加载发生,无法加载资源:服务器回应的404(未找到)状态,但是当我点击它,它的伟大工程,只是在配置文件路线(有问题)它重新加载失败,但在其他路线没问题。 –