微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么在history.push上将history.length设置为50而不渲染组件?

如何解决为什么在history.push上将history.length设置为50而不渲染组件?

我有两个React模块。 父模块包含app.js和仪表板组件。 通用模块包含常见的组件,如页眉和页脚。

我已经以一般方式设置了反应路由器。

我面临的问题是,单击标题中可用的链接后,他的相应组件将无法加载。

我怀疑这种情况正在发生,因为即使在应用程序中单击单个链接,history.length仍设置为50(仅应增加1​​)。 (我在某些论坛上看到将其设置为最大50)

任何建议为什么会发生这种行为以及如何处理该问题并在标题中提供可用的链接上的相应组件。

相同的代码 App.js(在Parenet模块中可用)

function App() {
  const history = createbrowserHistory();
  const goto = (url) => {
    history.push(url)
  }
  const routes = () => {
    return (
      <Router history={history}>
        <Header goto={goto}/>
        <Route exact path="/" component={Dashboard} />
        <Route exact path="/componentA" component={componentA}></Route>
        <Route exact path="/componentB" component={componentB}></Route>
        />
      </Router>
    );
  };
  return (
    <MuiThemeProvider theme={createMuiTheme(themeDefault)}>
      <div className="App">
        <div className="content">{routes()}</div>
        <Footer />
      </div>
    </MuiThemeProvider>
  );
}

export default App;

Header.js(可在Common React模块中与另一个模块分开并作为节点模块导入)

const Header = (props) => {
  const {  goto } = props;

  const gotoURL = (url) => {
    goto(url)
  };
  return (
    <div>
      {options &&
        options.map((option) => (
          <div
            key={option.url}
            onClick={() => gotoURL(option.url)}
          >
            {option.name}
          </div>
        ))}
    </div>
  );
};


export default Header;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?