【问题标题】:Link tag from React Router isn't doing anything when you click on it当你点击它时,来自 React Router 的链接标签没有做任何事情
【发布时间】:2020-01-11 12:56:49
【问题描述】:

使用 React Router 尝试返回主页。但是,当您现在单击链接时,什么也没有发生。

我已经尝试使用这个带有位置的链接并将其设置为一个对象,但它们都不允许我导航到主页。 我发现这个问题建议将其绑定到 onClick 事件,然后在处理程序中传递我需要的状态。 How to use onClick event on react Link component?

更新: 我想去的路线

 <Route
          path="/"
          exact
          render={(routeProps, props) =>
            this.state.fetchedweatherdata ? null : (
              <Form
                {...routeProps}
                {...props}
                onChange={this.handleChange}
                {...this.state}
                onSubmit={this.onSubmit}
              />
            )
          }
        />

这是我的 DisplayWeather 组件下当前不起作用的链接

 <Link to="/" onClick={() => this.props.fetchedWeatherData}>
          Click here to go back to form
        </Link>

我将 fetchedWeatherData 的相反状态传递给组件,因为我希望它返回到表单。

我希望能够单击该链接并返回表单以供用户提交新的天气搜索查询。 这是一个包含更多代码的要点,以了解它们如何一起运行 https://gist.github.com/dhuang612/11f124274022a8188b4b0981dd6932f9

感谢您提供的任何帮助!

【问题讨论】:

  • this.props.myroute 是一个表示链接要到达的路径的道具
  • 谢谢,我更新了我的问题
  • 你的链接现在能去你想要的地方吗?
  • 很遗憾没有。我仍然得到相同的结果,什么也没发生

标签: reactjs


【解决方案1】:

在您的示例要点中,您从react-router 导入Router,但没有在任何地方使用它。 &lt;Route/&gt;&lt;Link/&gt; 组件应该是 &lt;Router/&gt; 的子组件。

标准方法是让您的 index.js 看起来像这样:

import React from "react";
import { render } from "react-dom";
import { BrowserRouter } from "react-router-dom";

import App from "./App";

render(
  <BrowserRouter>
    <App />
  </BrowserRouter>,
  document.getElementById("root")
);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-06-16
    • 1970-01-01
    • 1970-01-01
    • 2012-02-21
    • 1970-01-01
    • 1970-01-01
    • 2020-10-21
    • 2018-05-17
    相关资源
    最近更新 更多