一、页面


二、react-router4.x 路由配置

App.js

import React from "react";import { BrowserRouter as Router, Route } from "react-router-dom";import Home from "./components2/Home.js";
import Pcontent from "./components2/Pcontent.js";import "./assets2/css/basic.css";class App extends React.Component {constructor(props) {super(props);this.state = {};}render() {return (<Router><div className="App"><Route path="/" exact component={Home}></Route><Route path="/pcontent/:id" component={Pcontent}></Route></div></Router>);}
}export default App;

Home.js

import React, { Component } from "react";import { Link } from "react-router-dom";import axios from "axios";import "../assets2/css/index.css";class Home extends Component {constructor(props) {super(props);this.state = {list: [],api:"http://a.itying.com/"};}render() {return (<div className="home"><header class="index_header"><div class="hlist"><img src={require("../assets2/images/rexiao.png")} alt=""  /><p>热销榜</p></div><div class="hlist"><img src={require("../assets2/images/caidan.png")} alt=""  /><p>点过的菜</p></div><div class="hlist"><img src={require("../assets2/images/sousuo.png")} alt=""  /><p>搜你喜欢</p></div></header><aside class="left_cate" id="left_cate"><ul>{this.state.list.map((item, index) =>{return (<li key={index} >{item.title}</li>)})}</ul><div id="nav_cate" class="nav_cate"><img src={require("../assets2/images/nav.png")} alt="" /><p>菜单</p></div></aside><div className="content">{this.state.list.map((item, index) => {return (<div className="item" key={index}><h3 className="item_cate">{item.title}</h3><ul className="item_list">{item.list.map((food, index2) => {return (<li key={index2}><div className="inner"><Link to={`/pcontent/${food._id}`}><img src={`${this.state.api}${food.img_url}`}  alt=""/><p className="title">{food.title}</p><p className="price">¥{food.price}</p></Link></div></li>);})}</ul></div>);})}</div><div class="bg" id="bg"></div><div id="footer_cart" class="footer_cart"><Link to="/cart"><img src={require("../assets2/images/cart.png")} alt="" /><p>购物车</p></Link></div></div>);}
}export default Home;

三、react-router4.x 请求菜品和菜品分类数据

Home.js

 //首页菜品Api
import axios from "axios";class Home extends Component {constructor(props) {super(props);this.state = {list: [],api:"http://a.itying.com/"};}requestData = () => {var api = this.state.api + "api/productlist";axios.get(api).then((response) => {// handle success// console.log(response);this.setState({list: response.data.result,});}).catch((error) => {// handle errorconsole.log(error);});};componentDidMount() {this.requestData();}

四、react-router4.x 循环渲染二维数组

Home.js

<div className="content">{this.state.list.map((item, index) => {return (<div className="item" key={index}><h3 className="item_cate">{item.title}</h3><ul className="item_list">{item.list.map((food, index2) => {return (<li key={index2}><div className="inner"><Link to={`/pcontent/${food._id}`}><img src={`${this.state.api}${food.img_url}`}  alt=""/><p className="title">{food.title}</p><p className="price">¥{food.price}</p></Link></div></li>);})}</ul></div>);})}
</div>

五、react-router4.x跳转到菜品详情传值

App.js

<Route path="/pcontent/:id" component={Pcontent}></Route>

Home.js

<Link to={`/pcontent/${food._id}`}>
......
</Link>

Pcontent.js

componentDidMount() {var id = this.props.match.params.id;this.requestData(id);
}

16 React【无人点餐无人收银系统案例】路由配置、菜品列表制作、请求数据渲染二维数组、动态路由传值 【基础项目】相关推荐

  1. 超市收银程序_超市收银系统案例|千平超市再开2家,星耀助力门店年关创收...

    思迅天店星耀版收银系统案例_超市收银系统:千平超市再开2家,星耀助力门店年关创收 年关冲刺,收银压力,库存管理...... 都是现在超市老板们的工作重点 近期开业 横溪购物中心和汇隆购物广场 妥妥的千 ...

  2. Vue-快餐店收银系统-leftNav.vuePos.vue

    一好友推荐学习vue的一个博客 网址共享:http://jspang.com/ 这是比较基础的课程 技术胖用的是live-server来搭建服务器环境的,推荐以下链接:https://www.cnbl ...

  3. 一款好用的智能餐饮会员收银系统该具备哪些功能?

    目前,随着餐饮互联网智能化的越来越普遍,但仍有一部分餐厅还停留在手写点菜阶段.即便餐厅已采用移动设备点菜,到了支付环节,服务员也无法使用同一设备进行收银,更别说和会员权益打通.那,一款好用的智能餐饮点 ...

  4. 餐饮店,用什么餐饮收银系统好?

    我们知道,现在的餐饮店,基本上都已经配备了餐饮收银系统,因为这不仅仅会提高工作效率,同时也减少错误率.但因为很多餐饮收银系统因为功能太过繁杂,应用操作过于繁琐,导致很多商家一直不是很满意.面对这样的情 ...

  5. 餐饮点菜收银该如何选择收银系统

    因为餐饮店服务的流程性,互联网时代,应用在餐饮的软件也越来越多,如网上点餐软件.点菜收银软件等等.很多词汇听起来差不多,应用场景确是千差万别的.在选择使用餐饮软件的时候,一定要深度了解其功能及应用场景 ...

  6. 使用说明 思迅收银系统_便利店收银使用的收银系统应该取决于什么?

    生活中,我们常见的便利店规模可大可小,比如最小就十平米,大的话也有可能会好几百平米,有些人疑惑,到底便利店该不该使用收银系统,又或者该如何选择合适的收银系统.其实,不管如何,只要开起门店,店老板都得付 ...

  7. 如何选择适合自己门店的收银系统呢?

    大到商超,小到楼下便利店,实体店无论面积大小,都在使用收银系统算账收款. 好用的收银系统能让店铺经营更方便高效,还能避免人工收银的漏洞.现在市面上有许多收银系统,收费也会因为品牌.功能的不同而不同,那 ...

  8. 扫码枪收银有手续费吗_生鲜店的收银系统应该如何选择?

    2020年可以说是生鲜水果店大力兴起的一年,几乎每条街道不到两公里就能看到一个,每个社区都有几个很不错的生鲜水果店.那么生鲜水果店的收银系统具体都有哪些功能需求,而不同规模的生鲜店又需要配置什么样的收 ...

  9. 超市自动收款机php,自助收银机,超市无人自动收银系统,海信自助POS,自助收款机...

    产品名称:自助收银机,超市无人自动收银系统,海信自助POS,自助收款机 产品链接:http://cn.trustexporter.com/cp-hxpos2016/o4596296.htm 手机版链接 ...

最新文章

  1. linux服务器数据转发,Linux云服务器如何使用iptables做流量转发?
  2. Spring 核心特性
  3. php ci url,URL路由设置-CI(codeigniter)PHP框架再探
  4. docker~从Dockerfile到Container的过程(终于算是OK了)
  5. (Deep learning)深度卷积网络实战——第三部分
  6. struts获取ajax传值,struts 接收 jquery带参数ajax请求
  7. 从病毒手里抢时间:百度研究院研发RNA测序算法检测速度提升120倍
  8. Python编程:pycharm开发工具汉化步骤
  9. Python实现批量生成二维码小工具
  10. 终端字符乱码解决方法
  11. python 使用ThreadPool 创建线程,后台执行并check
  12. WiFi密码破解亦或是WiFi热点软件?
  13. vue背景图片资源加载问题
  14. WMS 怎么搞定库内拣选与分拣?
  15. 基于linux2.6.30.4内核的DM9000网卡驱动编译成模块成功ping通
  16. 常见字读音(粤语)---(2)
  17. 第十三届蓝桥杯 2022年省赛真题(Java 大学C组)
  18. GIS基本功 | 14 地图投影及其相关概念
  19. 以远程计算机上的用户身份访问Com+应用
  20. CSS 纵向树 横向树

热门文章

  1. C++函数模板的详细讲解【函数模板的概念、用法及其模板函数的概念知识】
  2. Uncaught TypeError:Illegal invocation
  3. css如何用ease in out,离开悬停状态CSS3时轻松一下(Ease out on when leaving hover state CSS3)...
  4. android开发板那种好,学嵌入式用哪个开发板好?嵌入式开发板推荐
  5. java微信支付3.0开发
  6. Keynote操作技巧两则:屏幕互换及中途切换
  7. java经典编程练习题_Java经典练习题_Day03
  8. 荐书《遗留系统:重建实战》:当你面对一坨代码时,你应该这么做
  9. 怎么查计算机硬件配置,怎么看电脑配置,教你看电脑配置
  10. Python 快速排序算法【简单易懂,代码直接运行】