我想实现菜单栏上的导航,这是我从API中获取的。例如,在主页上,我有四个菜单,如menu1、menu2、menu3、menu4,它们总是显示。点击这些菜单,我想获取与它们相关的产品。
我读过React js中的嵌套路由,但无法实现它。
类别的动态菜单栏:
import React from 'react';
import './style.css';
import {Link} from 'react-router-dom';
import Api from '../../Api';
class TopMenu extends React.Component {
state = {
categories : []
}
componentDidMount(){
Api.get(`categories`).then(
response => {
this.setState({categories: response.data});
});
};
render(){
return (
<div className="menu">
{this.state.categories.map(category => (
<Link to={"/category/" + category.name} key={category.id} className="menu-item"><span>{category.name}</span></Link>
))}
</div>
);
}
};
export default TopMenu;
我的路由文件:
import React from 'react';
import {Switch, Route} from 'react-router-dom';
import CategoryProducts from './CategoryProducts';
import Home from './Home';
const Routes = () => {
return(
<Switch>
<Route path='/' exact component={Home} />
<Route path='/category/:name' component={CategoryProducts} />
</Switch>
);
};
export default Routes;
click on Category只会更改浏览器url,而不是页面。
CategoryProducts.ja
import React from 'react';
import Products from './Products';
class CategoryProducts extends React.Component {
render(){
return (
<div className="content-wrapper">
<div className="menu-left">
<Products/>
</div>
</div>
);
}
}
export default CategoryProducts;
Products.js
import React,{useState, useEffect} from 'react';
import Api from './Api'
import Card from './components/Card';
class Products extends React.Component {
state = {
categories : []
}
componentDidMount(){
let categoryName = this.props.match ? this.props.match.params.name : 'Veg Pizza';
Api.get(`category/${categoryName}`).then(
response => {
this.setState({products: response.data});
});
};
render(){
return (
<div>
<div className="ref">
<div className="menu-hr"></div>
<div className="menu-cat">
<div className="menu-catname ">BESTSELLERS</div>
</div>
</div>
<div className="card-container">
<div className="all-cards" data-label="Bestsellers">
<Card />
</div>
</div>
</div>
);
}
};
export default Products;
您的Products组件不会一次又一次地挂载,因为这会呈现在所有可能的类别上。因此,为了获取不同类别的数据,您可能必须使用componentDidUpdate生命周期方法。
null
import React,{useState, useEffect} from 'react';
import Api from './Api'
import Card from './components/Card';
class Products extends React.Component {
state = {
categories : []
}
componentDidMount(){
let categoryName = this.props.match ? this.props.match.params.name : 'Veg Pizza';
Api.get(`category/${categoryName}`).then(
response => {
this.setState({products: response.data});
});
};
componentDidUpdate(prevProps, prevState){
if(prevProps.match.params.name !== this.props.match.params.name){
Api.get(`category/${categoryName}`).then(
response => {
this.setState({products: response.data});
});
}
}
render(){
return (
<div>
<div className="ref">
<div className="menu-hr"></div>
<div className="menu-cat">
<div className="menu-catname ">BESTSELLERS</div>
</div>
</div>
<div className="card-container">
<div className="all-cards" data-label="Bestsellers">
<Card />
</div>
</div>
</div>
);
}
};
export default Products;
我正在开发一个NetBeans插件,它需要使用“动态”菜单,因为目前必须在专用于某个菜单项及其操作的类中硬编码。然而,我希望允许用户通过插件提供的UI更改菜单项的值(它们的作用-这将在主方法中处理变量,我不允许用户为主方法本身编写代码-它们被调用的内容及其关联的键盘快捷键),以及添加和删除菜单项。我的插件可能会从一个文件中读取这些首选项,理想情况下,只有一个类可以创建所有这些动态菜单项,其值在首选
我是android新手,我想创建一个滑动动作栏菜单,我在谷歌上搜索了一下,找到了关于这个的教程。但在更多教程中,使用xml文件中的FrameLayout创建布局和UI程序。我的问题是:我是否使用LinearLayout或RelativeLayout而不是FrameLayout?还有一个问题:对于android 2.2的设备,我会使用滑动动作条菜单吗?哪个版本的Android可以使用这个? 在谷歌地
问题内容: 我在基于Java的框架中重写了该方法,该框架是在此处托管的一个开源项目。该方法上创建一个右键快捷菜单中。我可以使用下面的代码正确添加其他上下文菜单选项。我需要知道如何在上下文菜单中添加子菜单。 问题答案: 支持添加子菜单。 该类扩展为提供在整个框架中使用的弹出菜单。该方法可以用于构造分层子菜单。例如,将子菜单以及其他杂项编辑操作添加到中最右边的弹出菜单。该方法中是使用另一示例编辑器。
后台菜单创建 一般我们的插件都会有后台管理的菜单,此时我们需要创建插件的后台管理菜单。以下是常用的方法。以下是Mydemo.php中的代码如下: <?php namespace addons\mydemo; use app\common\library\Menu; use app\common\model\User; use fast\Date; use think\Addons; use t
问题内容: 我希望在游戏中(SpriteKit)中创建带有按钮和图像的商店,但我需要使这些物品能够滚动,以便玩家可以上下滚动商店(就像UITableView一样,但每个商店中都有多个SKSpriteNodes和SKLabelNodes细胞)。知道如何在SpriteKit中做到这一点吗? 问题答案: 正如所答应的第二个答案,我只是想出了问题。 我建议始终从gitHub项目中获取此代码的最新版本,以防
我在“MainActivity.java”中动态创建了50个相对布局。 现在,我想,当长按每个“mini”时,会出现一个弹出菜单或上下文菜单,其中包含两个选项(1.打开和2.隐藏)。选择一个后,我将执行打开/隐藏操作。 我搜索互联网和发现一些建议,以创建一个*. xml菜单目录和附加到MainActivity.java使用onCreateContextMenu事件。 但是,我不明白这一点。由于我是