React菜品详情查看

React菜品详情查看

菜列表文档地址:https://blog.csdn.net/qq_34227291/article/details/94454115

PS:菜详情页与菜列表页的思路比较相似的;首先安装axios,在SRC目录下的package.js文件可以看到安装完成的axios;然后就是调用API接口,在调用成功后的函数中设置数据源,详细页是根据菜列表页的_id来获取对应的数据。
示例中的变量id用来保存通过路由传过来的ID,最后在渲染前的生命周期函数调用。(详情页没有做路由跳转)

1:进入当前项目安装axios

命令:npm install axios
引入:const axios = require('axios');

示例代码如下:

import React from 'react';
// axios配置
const axios = require('axios');

class Dateils extends React.Component {
    constructor(props) {
        super(props);
        console.log(this.props);
        this.state = {
            list: [],
            urls: "http://a.itying.com/"
        }
    }
    // 获取数据方法函数
    requessData(id) {
        var api = this.state.urls + "api/productcontent?id=" + id;
        axios.get(api)
            .then(res => {
                console.log(res.data.result);
                this.setState({
                    list: res.data.result[0]        //获取的数据保存给list数据
                })
            })
            .catch(err => {
                console.error(err);
            })
    }
    // 生命周期函数---渲染前调用
    componentWillMount() {
        let id = this.props.match.params._id;
        console.log(id);
        this.requessData(id);
    }
    render() {
        return (
            <div>
                {/* 渲染数据 */}
                <div>
                    [外链图片转存失败(img-LiTereRQ-1562057219453)(https://mp.csdn.net/mdeditor/%7B%60$%7Bthis.state.urls%7D$%7Bthis.state.list.img_url%7D%60%7D)]
                </div>
                <p>{this.state.list.title}</p>
                <p>{this.state.list.price}元</p>
                <p>{this.state.list.content}</p>
            </div>
        )
    }
}

export default Dateils;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值