2 回答

TA贡献1871条经验 获得超13个赞
在这里分享我的发现
// MenuComponent.js
import React, {Component} from 'react';
import Root from './Root';
class Kids extends Component {
render() {
return (
<Root text="kids" />
);
}
}
class Movies extends Component {
render() {
return (
<Root text="movies" />
);
}
}
class Sports extends Component {
render() {
return (
<Root text="sports" />
);
}
}
export { Kids, Movies, Sports };
添加了一个新的组件类,其中包含所有菜单的类
//Updated App.js
import React, {Component} from 'react';
import './css/main.css';
import './css/bootstrap/css/bootstrap.min.css';
import Root from "./Components/Root"
import { Kids, Movies, Sports } from "./Components/MenuComponents"
import { BrowserRouter as Router, Route, Switch } from "react-router-dom";
class App extends Component {
render() {
return (
<Router>
<Switch>
<Route path='/movies' exact component={Movies} />
<Route path='/sports' exact component={Sports} />
<Route path='/kids' exact component={Kids} />
<Route path="/" exact component={Root} />
<Route path="/*" render={() => <h2> 404 Not Found</h2>} />*/}
</Switch>
</Router>
);
}
}
export default App;
然后我在 Route 组件中调用上面的菜单组件类。MenuComponent.js 中的类间接调用“根”组件。通过这种方式,我可以确保组件的可重用性
这对我来说非常有效。如果我们想添加新菜单,请在 MenuComponent.js 中添加一个类并为菜单添加一个 Route

TA贡献1829条经验 获得超7个赞
您的 if/else 块并不详尽,您确定 currentPath 不是未定义的吗?尝试console.log(currentPath)
在条件之后。如果可行,则尝试console.log(json)
在 this.setState() 之前,以确保 json 结果是预期的。最后,您确定items
以列表的形式返回吗?
- 2 回答
- 0 关注
- 111 浏览
添加回答
举报