首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >react-routing中的错误404

react-routing中的错误404
EN

Stack Overflow用户
提问于 2020-01-07 19:44:56
回答 1查看 58关注 0票数 0

我有个问题。看看我的代码:

代码语言:javascript
复制
constructor(props){
    super(props);
    this.state = {
        url: '/' +this.props.lang+ '/panel',
        about: '',
        user: '',
        userPath: ''
    }


}

componentDidMount(){
    this.setState({
        about: this.state.url + '/about',
        user: this.state.url + '/user/1',
        userPath: this.state.url + '/user/:id',

    })
}

//View
                <div>
                    <Route exact path={this.state.url} component={Home} />
                    <Route path={this.state.about} component={About} />
                    <Route path={this.state.userPath} component={User} />
                </div>

大多数链接都是正确的,只有一个用户可以使用。如果我点击链接"user",组件将被渲染。但是如果我刷新我的网站,我会出现错误404。任何其他链接都工作正常。当然,我可以打开/user (没有var,但是这个页面是空的)。错误404是如果我尝试打开/user/1。为什么?我在Laravel项目中使用React组件。

EN

回答 1

Stack Overflow用户

发布于 2020-01-07 19:56:37

这是因为您在componentDidMount函数中设置了路径,因此,当页面加载时,所有的URL都是''

我不认为你可以这样做,你可能需要在你的构造函数中设置urls。

如下所示:

代码语言:javascript
复制
const baseUrl = '/' +this.props.lang+ '/panel';

this.state = {
  url: baseUrl,
  about: baseUrl + '/about',
  user: baseUrl + '/user/1',
  userPath: baseUrl + '/user/:id'
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59627803

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档