标题组件
>>> class Formatter:
... def __init__(self,precision=None):
... self.set_precision(2 if precision is None else precision)
... def __call__(self,n):
... return f'{n:.{self.p}g}'
... def set_precision(self,p):
... self.p = p
...
>>> num_formatter = Formatter()
>>> num_formatter(1.23456)
'1.2'
>>> num_formatter.set_precision(4)
>>> num_formatter(1.23456)
'1.235'
>>> num_formatter = Formatter(3)
>>> num_formatter(1.23456)
'1.23'
这是我的标题组件,我在其中使用了 Link 标签,但这些标签正在更改搜索栏中的 URL,但实际上并未呈现组件。
答案 0 :(得分:1)
您不需要 Header 组件中的路由器...您可以只使用 Link,然后在您的 App.js 中设置到组件的路由。像这样..
App.Js
import React from "react";
import { BrowserRouter as Router, Link } from "react-router-dom";
import { ReactComponent as Logo } from "../../asset/crown.svg";
import "./header.scss";
const Header = () => {
return (
<div className='header'>
<ul>
<li className='logo-container'>
<Link to='/'>
<Logo className='logo' />
</Link>
</li>
<li>
<Link to="/shop">
SHOP
</Link>
</li>
</div>
);
};
export default Header;
//APP COMPONENT
import React from "react";
import { BrowserRouter as Router,Switch, Route } from "react-router-dom";
const App = () => {
return (
<Router>
<Switch>
<Route exact path="/" component="Home">
<Route path="/shop" component="shop">
</Switch>
</Router>
);
};
export default App;
答案 1 :(得分:0)
确保不要在 BrowserRouter 中使用 BrowserRoute。
例如:当你将一个组件放在一个组件中时,它不是 JSX,它会被转换为 HTML 并可能导致错误。