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)
    }
  }
}
相关推荐
big tail6 分钟前
Windows本地Docker模拟前端项目发版
前端·windows·docker
学以智用11 分钟前
Vue3 状态管理库 Pinia 完整教程
前端·vue.js
北寻北爱12 分钟前
面试题-js篇
前端·javascript
这是个栗子12 分钟前
前端开发中的常用工具函数(五)
javascript·数据结构·reduce
两万五千个小时14 分钟前
学习 Pi Coding Agent:系统提示词与工具设计深度解析
javascript·人工智能·架构
harrain14 分钟前
vue3多个watch监听统一等待触发再执行后续逻辑的处理方案
前端·javascript·vue.js
Csvn14 分钟前
React 渲染机制详解
react.js
miss15 分钟前
Vue3 + AI Agent 前端开发实战:一个 前端开发工程师的转型记录
前端
miss17 分钟前
AI Agent 前端开发:一个初级工程师的踩坑成长之路
前端
清水寺小和尚17 分钟前
如何用400行代码构建OpenClaw
前端