首页 > 解决方案 > 使用反应路由器进行导航,重定向获取新页面但没有内容

问题描述

尝试使用 React Router 从子组件上升到父组件。使用来自侧边栏组件和按钮的重定向

我尝试将状态专门设置为重定向的道具,但是当您运行代码时,它无法找到我的其他组件

HourlyWeather.js 

this.state = {
     redirect: false
}

然后我将其用于我的按钮的句柄提交:

HourlyWeather.js
  handleSubmit = () => {
    this.setState({
      redirect: !this.state.redirect
    });
  };
  /*

这是我的重定向:


 onst SwapToCurrent = ({ component: Component }) => {
  return (
    <Route
      render={props =>
        DisplayHourlyWeather.redirect === 'true' &&
        DisplayWeather.fetchedWeatherData === 'true' ? (
          <DisplayWeather {...props} />
        ) : (
          <Redirect
            to={{
              pathname: '/current',
              state: { fetchedWeatherData: true }
            }}
          />
        )
      }
    />
  );
};

最后,这就是我要有条件地渲染的内容:

if (this.state.fetchedWeatherData) {
      return (
        <div className="ui container">
          <br />
          <h1>Current temperature</h1>

当您单击按钮时,没有任何反应,组件没有被切换我觉得我错过了与此相关的东西,任何帮助将不胜感激!

标签: reactjs

解决方案


推荐阅读