【发布时间】:2020-12-15 12:46:53
【问题描述】:
我使用 react 与以下组件创建 SPA:BrowserRouter、Route、Link、AppBar、Toolbar、Tabs、Tab、MaterialTable。
一切正常,除了当我在选项卡之间快速切换(单击 PAGE1、PAGE2 链接)时,浏览器会挂起。这发生在 Chrome 和 Firefox 中。我没有使用任何状态或钩子。
密码箱链接:https://codesandbox.io/s/winter-pond-1zsn3?file=/public/index.html
App.js:
import React from "react";
import "./styles.css";
import { BrowserRouter, Route, Switch } from "react-router-dom";
import Page1 from "./Page1";
import Page2 from "./Page2";
import Header from "./Header";
export default function App() {
return (
<BrowserRouter>
<Header />
<Switch>
<Route exact path="/Page1" component={Page1}></Route>
<Route exact path="/Page2" component={Page2}></Route>
</Switch>
</BrowserRouter>
);
}
Header.jsx
import React from "react";
import { Link } from "react-router-dom";
import { AppBar, Toolbar, Tabs, Tab } from "@material-ui/core";
const Header = () => {
return (
<AppBar position="static">
<Toolbar>
<Tabs>
<Tab label="Page1" to="/Page1" component={Link} />
<Tab label="Page2" to="/Page2" component={Link} />
</Tabs>
</Toolbar>
</AppBar>
);
};
export default Header;
Page1.jsx
import React from "react";
const Page1 = () => {
return <div>Page1</div>;
};
export default Page1;
Page2.jsx
import React from "react";
import MaterialTable from "material-table";
const taskColumns = [
{ title: "Task Name", field: "TaskName" },
{ title: "Task Description", field: "TaskDesc" }
];
const Page2 = () => {
return <MaterialTable title="Task List" columns={taskColumns} data={[]} />;
};
export default Page2;
【问题讨论】:
标签: reactjs material-ui material-table