• 关于react组件传值问题


    父组件给子组件传值

    父组件主要代码:

    import React, {Component} from 'react';
    import PropTypes from 'prop-types'; // 主要用来判断父组件传递过来的数据类型
    class Com extends Component {
      render () {
        console.log(this.props) // 子组件中可以通过this.props来访问父组件中的数据
        return (
          <ul>
            {
              /*
              <li>
              {
                // <img src="" alt="" style=" 60px;"/>
              }
              <img src="" alt="" style={ {  '60px'} }/>
              <p>华为meta 30</p>
              <p>5999</p>
            </li>
            */
            }
            {
              this.props.prolist.map(item => ( // 回调函数自带返回值,如果返回的没有逻辑编写,可以直接通过这种方式返回,也可以通过其他方式返回
                <li key={item.proid}>
                  <img src={  item.proimg  } alt="" style={ {  '60px'} }/>
                  <p>{ item.proname }</p>
                  <p>{ item.price }</p>
                </li>
              ))
            }
          </ul>
        )
      }
    }
    
    Com.propTypes = {
      prolist: PropTypes.array // 定义父组件传递过来的prolist数据类型是数组
    }
    
    export default Com; // 暴露模块

    子组件相关代码:

    import React, { Component} from 'react';
    import { getBannerlist, getProlist} from '@/utils/api.js';
    import Prolist from './Prolist'; // 引入组件
    export default class extends Component {
      constructor (props) {
        super(props);
        this.state = {
          bannerlist: [],
          prolist: []
        }
      }
      componentDidMount () { // 生命周期函数
        getBannerlist().then(data => {
          console.log(data.data)
          this.setState({
            bannerlist: data.data
          })
        })
        getProlist().then(data => {
          console.log(data)
          this.setState({
            prolist: data.data
          })
        })
      }
      render () {
        return (
          <div>
            <ul>
            { this.state.bannerlist.map((item) => { // 渲染轮波图数据
              return (
                <li key={ item.bannerid }>
                  <img src={ item.img } />
                  </li>
              )
             })}
             </ul>
             {
             /* 父组件给子组件传值时,在父组件调用子组件的时候给子组件定义一个自定义属性,属性值就是需要传递的数据,如果
             需要传递的知识布尔值,number类型或者是变量,需要用到react的{},表示绑定属性 */
             }
             <Prolist prolist={this.state.prolist}></Prolist> 
          </div>
        )
      }
    }

    通过以上我们就完成了react的父组件传值给子组件

     

  • 相关阅读:
    Python操作MongoDB(PyMongo模块的使用)
    python 读取单所有json数据写入mongodb(单个)
    python 导出mongoDB数据中的数据
    Python连接MySQL的实例代码
    Python操作Mysql实例代码教程在线版(查询手册)_python
    Python MySQLdb模块连接操作mysql数据库实例_python
    python连接mysql实例分享_python
    my.cnf配置文件参数解释
    MySql增加字段、删除字段、修改字段名称、修改字段类型
    mysql 定时任务
  • 原文地址:https://www.cnblogs.com/huangping199541/p/11853771.html
Copyright © 2020-2023  润新知