首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单击链接更改路由,但不更改组件本身-- React路由器

单击链接更改路由,但不更改组件本身-- React路由器
EN

Stack Overflow用户
提问于 2020-05-11 01:50:22
回答 1查看 247关注 0票数 1

我面临着ReactJS路由问题。工作演示。我正在使用hookrouter包。

发行:

正如演示中提到的,如果我在/users路由上,当我单击about链接时,URL会发生变化,但是About组件不会被加载。

我想要什么?

当我单击组件的链接时,是否有一种加载组件的方法?

代码语言:javascript
复制
import { A, useRoutes } from "hookrouter";

const Users = () => {
  return (
    <div>
      <h1>Users</h1>
      <A href="/about">About</A>
    </div>
  );
};

const About = () => {
  return (
    <div>
      <h1>About</h1>
      <A href="/users">Users</A>
    </div>
  );
};

const routes = {
  "/users": () => <Users />,
  "/about": () => <About />
};

function App() {
  const routeResult = useRoutes(routes);
  return (
    <div className="App">
      <div>
        <A href="/users">Users Page</A>
      </div>
      <div>
        <A href="/about">About Page</A>
      </div>
      {routeResult}
    </div>
  );
}

const rootElement = document.getElementById("root");
ReactDOM.render(<React.StrictMode><App /></React.StrictMode>, rootElement);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-11 02:13:29

在钩子路由器库中有一个公开发行,如果您用<React.StrictMode>包装应用程序,导航就不工作了。

所以,现在,删除严格的模式,你会没事的。

index.js

代码语言:javascript
复制
import React from "react";
import ReactDOM from "react-dom";

import App from "./App";

const rootElement = document.getElementById("root");
ReactDOM.render(
  // <React.StrictMode> // <------ comment this for now.
  <App />,
  // </React.StrictMode>,
  rootElement
);

代码框的工作副本

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61721092

复制
相关文章

相似问题

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