Ken428965 2022-09-30 19:55 采纳率: 53.6%
浏览 42
已结题

react,如何让盒子里的各项数据自动获取数据库里相对应的数据?

在使用的react版本如下:

img


数据库已连接成功:

img


通过postman和浏览器地址栏输入接口地址,均能成功获取到数据:

img


已写的代码如下:

import React from 'react';
import { Grid } from 'antd-mobile';
import './style.css';
import axios from 'axios';
let arr = [{
  p: '家住琶洲',
  span: '前景可期',
  src: require('./1.jpg')
}, {
  p: '家住琶洲',
  span: '前景可期',
  src: require('./2.jpg')
}, {
  p: '家住琶洲',
  span: '前景可期',
  src: require('./3.jpg')
}, {
  p: '家住琶洲',
  span: '前景可期',
  src: require('./4.jpg')
}]

// export default () => {
  export default class Mygroup extends React.Component {
  state = {
    // 租房小组数据
    groups: []
  }
  // 获取租房小组数据的方法
  getGroups() {
    const res = axios.get('http://localhost:8080/home/groups',{
      params:{
        area: 'AREA%7C88cff55c-aaa4-e2e0'
      }
    })
    this.setState({
      // groups: res.data.body
    })
  }
  componentDidMount() {
    this.getGroups()
  }
  render() {
    return(
      <div className='grid'>
      <Grid columns={2} gap={4}>
      {arr.map((item,index) => {
      return (
        <Grid.Item key={index}>
        <div className='grid-demo-item-block'
          onTouchStart={e => e.target.style.backgroundColor = 'gray'} 
          onTouchEnd={e => e.target.style.backgroundColor = 'white'}
        >
          <div className='g'>
            <p>{item.p}</p>
            <span>{item.span}</span>
          </div>
          <img src={item.src} alt='' />
          </div>
        </Grid.Item>
      )
    })}
    </Grid>
    </div>
    )
  }
}

目前效果如下:

img


请问如何才能将四个盒子里的图片、标题以及内容都自动获取到数据库里相对应的数据?
如果有数量众多的盒子需要自动获取相对应的数据,请问有没有更便捷的方法实现想要的效果?

  • 写回答

1条回答 默认 最新

  • Heerey525 前端领域新星创作者 2022-10-01 11:48
    关注

    将groups替换掉arr就好

    
    import React from 'react';
    import { Grid } from 'antd-mobile';
    import './style.css';
    import axios from 'axios';
     
    // export default () => {
      export default class Mygroup extends React.Component {
      state = {
        // 租房小组数据
        groups: []
      }
      // 获取租房小组数据的方法
      getGroups() {
        const res = axios.get('http://localhost:8080/home/groups',{
          params:{
            area: 'AREA%7C88cff55c-aaa4-e2e0'
          }
        })
        this.setState({
          groups: res.data.body
        })
      }
      componentDidMount() {
        this.getGroups()
      }
      render() {
        return(
          <div className='grid'>
          <Grid columns={2} gap={4}>
          {this.state.groups.map((item) => {
          return (
            <Grid.Item key={item.id}>
            <div className='grid-demo-item-block'
              onTouchStart={e => e.target.style.backgroundColor = 'gray'} 
              onTouchEnd={e => e.target.style.backgroundColor = 'white'}
            >
              <div className='g'>
                <p>{item.title}</p>
                <span>{item.desc}</span>
              </div>
              <img src={item.imgSrc} alt='' />
              </div>
            </Grid.Item>
          )
        })}
        </Grid>
        </div>
        )
      }
    }
     
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 10月4日
  • 已采纳回答 10月1日
  • 修改了问题 10月1日
  • 修改了问题 9月30日
  • 展开全部

悬赏问题

  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图