react父子组件传值

1.父组件向子组件传值使用props

import React,{Component} from 'react'
import Center from './components/Center'

export default  class App extends Component {
  state={
    todos:[
      {id:'001',name:'吃饭',done:true},
      {id:'002',name:'睡觉',done:true},
      {id:'003',name:'打代码',done:false},
    ]
  }
 
  render(){
    return (
      <div>
         <Center todos={this.state.todos}/>
      </div>
      
    ); 
  }
  
}

子组件接收,渲染页面

import React, { Component } from 'react'
import Center from './index.module.css'
export default class index extends Component {
  render() {
    let {todos} =this.props;
    return (
      <div>
        <ul>
                {todos.map((i)=>{
                    return (
                        <li key={i.id} className={Center.li}>
                            <div className={Center.leftBox}>
                                <input type="checkbox" defaultChecked={i.done}/>
                                <span>{i.name}</span>
                            </div>
                            <button>删除</button>
                        </li>
                    )
                })}
        </ul>
      </div>
    )
    
  }
}

2.子组件向父组件传递参数

import React,{Component} from 'react'
// import Hello from './components/Hello'
import Header from './components/Header'
import Center from './components/Center'
import Foot from './components/Foot'

export default  class App extends Component {
  
  // ,data是子组件传给父组件的值
    a=(data)=>{
      console.log(data,'app')
    }
  render(){
    return (
      <div>
        <Header  a={this.a}/>
         <Foot/>
      </div>
      
    ); 
  }
  
}

子组件通过父组件传过来的函数,在合适的时机传给,父元素函数接收的data上

import React, { Component } from 'react'
import Header from './index.module.css'
export default class index extends Component {
  render() {
    return (
      <div>
        <input 
        className={Header.input} 
        type="text" 
        placeholder='请输入你的任务,按回车键确认'
        onKeyUp={this.keyCode}></input>
      </div>
    )
  }
  // 回车响应
  keyCode=(e)=>{
    if(e.keyCode===13){
      this.props.a(e.target.value)
    }
  }
}
相关推荐
前端拾光者27 分钟前
利用D3.js实现数据可视化的简单示例
开发语言·javascript·信息可视化
Json_181790144801 小时前
电商拍立淘按图搜索API接口系列,文档说明参考
前端·数据库
风尚云网1 小时前
风尚云网前端学习:一个简易前端新手友好的HTML5页面布局与样式设计
前端·css·学习·html·html5·风尚云网
木子02041 小时前
前端VUE项目启动方式
前端·javascript·vue.js
GISer_Jing1 小时前
React核心功能详解(一)
前端·react.js·前端框架
捂月1 小时前
Spring Boot 深度解析:快速构建高效、现代化的 Web 应用程序
前端·spring boot·后端
深度混淆1 小时前
实用功能,觊觎(Edge)浏览器的内置截(长)图功能
前端·edge
Smartdaili China1 小时前
如何在 Microsoft Edge 中设置代理: 快速而简单的方法
前端·爬虫·安全·microsoft·edge·社交·动态住宅代理
秦老师Q1 小时前
「Chromeg谷歌浏览器/Edge浏览器」篡改猴Tempermongkey插件的安装与使用
前端·chrome·edge
滴水可藏海1 小时前
Chrome离线安装包下载
前端·chrome