【问题标题】:React router: Link changes url but doesn't load component反应路由器:链接更改网址但不加载组件
【发布时间】:2019-07-24 10:24:26
【问题描述】:

这让我发疯了。我有一个使用 react-router 的应用程序。当我从服务器加载时,一切正常。但是,当我尝试通过 Link 组件访问路由时,它只会更改 url 并且组件不会被加载。有人请帮我解决这个问题。

         class Example extends React.Component {
  constructor(props) {
    super(props);

    this.state = {
      Item: 5,
      skip: 0
    }

    this.handleClick = this.handleClick.bind(this);
  }

  urlParams() {
    return `http://localhost:3001/meetups?filter[limit]=${(this.state.Item)}&&filter[skip]=${this.state.skip}`
  }

  handleClick() {
    this.setState({skip: this.state.skip + 1})
  }

  render() {
    return (
      <div>
        <a href={this.urlParams()}>Example link</a>
        <pre>{this.urlParams()}</pre>
        <button onClick={this.handleClick}>Change link</button>
      </div>
    )
  }
}


ReactDOM.render(<Example/>, document.querySelector('div#my-example' ))

【问题讨论】:

  • 你能展示你的进口吗?
  • 考虑使用此处的解决方案 - stackoverflow.com/questions/43351752/…
  • 因为链接在路由器组件之外。路由器不知道该链接,这样做:&lt;Router&gt;&lt;div&gt;&lt;Link to="/dashboard/products"&gt;Products&lt;/Link&gt;&lt;Switch&gt;....all routes here&lt;/Switch&gt;&lt;/div&gt;&lt;/Router&gt;
  • @MayankShukla 尝试使用内部路由器组件但无法正常工作
  • @MayankShukla 它工作正常。谢谢

标签: javascript reactjs react-native ecmascript-6


【解决方案1】:

当我使用 react-router 时,链接到路由之外,会有警告它被禁止。所以这个时候,我会使用tag a或者history。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-21
    • 1970-01-01
    • 2020-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多